[vlc-commits] Qt: allow a maximum volume on the sound slider

Jean-Baptiste Kempf git at videolan.org
Sun Dec 9 12:48:58 CET 2012


vlc | branch: master | Jean-Baptiste Kempf <jb at videolan.org> | Fri Dec  7 21:11:27 2012 +0100| [2a5264663478ae77f047c164c44ae7cf35af5037] | committer: Jean-Baptiste Kempf

Qt: allow a maximum volume on the sound slider

Too many users are bitching about this

Close #6105

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=2a5264663478ae77f047c164c44ae7cf35af5037
---

 modules/gui/qt4/components/controller_widget.cpp |    3 ++-
 modules/gui/qt4/qt4.cpp                          |    4 ++++
 modules/gui/qt4/util/input_slider.cpp            |    7 +++----
 modules/gui/qt4/util/input_slider.hpp            |    4 +++-
 4 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/modules/gui/qt4/components/controller_widget.cpp b/modules/gui/qt4/components/controller_widget.cpp
index 4925442..126401a 100644
--- a/modules/gui/qt4/components/controller_widget.cpp
+++ b/modules/gui/qt4/components/controller_widget.cpp
@@ -89,7 +89,8 @@ SoundWidget::SoundWidget( QWidget *_parent, intf_thread_t * _p_intf,
     {
         volumeSlider = new SoundSlider( this,
             config_GetInt( p_intf, "volume-step" ),
-            var_InheritString( p_intf, "qt-slider-colours" ) );
+            var_InheritString( p_intf, "qt-slider-colours" ),
+            var_InheritInteger( p_intf, "qt-max-volume") );
     }
     else
     {
diff --git a/modules/gui/qt4/qt4.cpp b/modules/gui/qt4/qt4.cpp
index efd0827..11ae967 100644
--- a/modules/gui/qt4/qt4.cpp
+++ b/modules/gui/qt4/qt4.cpp
@@ -180,6 +180,8 @@ static void ShowDialog   ( intf_thread_t *, int, int, intf_dialog_args_t * );
 #define ICONCHANGE_LONGTEXT N_( \
     "This option allows the interface to change its icon on various occasions.")
 
+#define VOLUME_MAX_TEXT N_( "Maximum Volume displayed" )
+
 static const int i_notification_list[] =
     { NOTIFICATION_NEVER, NOTIFICATION_MINIMIZED, NOTIFICATION_ALWAYS };
 
@@ -273,6 +275,8 @@ vlc_module_begin ()
 
     add_bool( "qt-icon-change", true, ICONCHANGE_TEXT, ICONCHANGE_LONGTEXT, true )
 
+    add_integer_with_range( "qt-max-volume", 125, 60, 300, VOLUME_MAX_TEXT, VOLUME_MAX_TEXT, true)
+
     add_obsolete_bool( "qt-blingbling" )      /* Suppressed since 1.0.0 */
     add_obsolete_integer( "qt-display-mode" ) /* Suppressed since 1.1.0 */
 
diff --git a/modules/gui/qt4/util/input_slider.cpp b/modules/gui/qt4/util/input_slider.cpp
index 2afc3d9..ae0792b 100644
--- a/modules/gui/qt4/util/input_slider.cpp
+++ b/modules/gui/qt4/util/input_slider.cpp
@@ -434,15 +434,14 @@ bool SeekSlider::isAnimationRunning() const
 #define WLENGTH   80 // px
 #define WHEIGHT   22  // px
 #define SOUNDMIN  0   // %
-#define SOUNDMAX  125 // % (+6dB)
 
 SoundSlider::SoundSlider( QWidget *_parent, int _i_step,
-                          char *psz_colors )
+                          char *psz_colors, int max )
                         : QAbstractSlider( _parent )
 {
     f_step = (float)(_i_step * 10000)
-           / (float)((SOUNDMAX - SOUNDMIN) * AOUT_VOLUME_DEFAULT);
-    setRange( SOUNDMIN, SOUNDMAX );
+           / (float)((max - SOUNDMIN) * AOUT_VOLUME_DEFAULT);
+    setRange( SOUNDMIN, max);
     setMouseTracking( true );
     isSliding = false;
     b_mouseOutside = true;
diff --git a/modules/gui/qt4/util/input_slider.hpp b/modules/gui/qt4/util/input_slider.hpp
index 2a60643..9bf6436 100644
--- a/modules/gui/qt4/util/input_slider.hpp
+++ b/modules/gui/qt4/util/input_slider.hpp
@@ -121,11 +121,13 @@ signals:
 /* Sound Slider inherited directly from QAbstractSlider */
 class QPaintEvent;
 
+#define SOUNDMAX  125 // % (+6dB)
+
 class SoundSlider : public QAbstractSlider
 {
     Q_OBJECT
 public:
-    SoundSlider( QWidget *_parent, int _i_step, char * );
+    SoundSlider(QWidget *_parent, int _i_step, char *psz_colors, int max = SOUNDMAX );
     void setMuted( bool ); /* Set Mute status */
 
 protected:



More information about the vlc-commits mailing list