]> git.sesse.net Git - vlc/commitdiff
Qt: allow a maximum volume on the sound slider
authorJean-Baptiste Kempf <jb@videolan.org>
Fri, 7 Dec 2012 20:11:27 +0000 (21:11 +0100)
committerJean-Baptiste Kempf <jb@videolan.org>
Sun, 9 Dec 2012 11:44:35 +0000 (12:44 +0100)
Too many users are bitching about this

Close #6105

modules/gui/qt4/components/controller_widget.cpp
modules/gui/qt4/qt4.cpp
modules/gui/qt4/util/input_slider.cpp
modules/gui/qt4/util/input_slider.hpp

index 49254424f9a98d2267d20362495a69fba2f0c846..126401aeada625eb6e3c38cb54bd4ab69e9a87f4 100644 (file)
@@ -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
     {
index efd0827f20a171733615cec2d422c03d9867d39f..11ae967653e5f1ca96ebfc90ecbc4616e1644af6 100644 (file)
@@ -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 */
 
index 2afc3d9ca46614c7a2d2d89ebc7080d579e694cc..ae0792b1a6049cd78ca821c3e69c2be3535e4611 100644 (file)
@@ -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;
index 2a60643afd63d9e466f80779723a62779b948dec..9bf6436e2f588eda857069b1832a64148c6a9fff 100644 (file)
@@ -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: