From 2a5264663478ae77f047c164c44ae7cf35af5037 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Kempf Date: Fri, 7 Dec 2012 21:11:27 +0100 Subject: [PATCH] Qt: allow a maximum volume on the sound slider Too many users are bitching about this Close #6105 --- 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 49254424f9..126401aead 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 efd0827f20..11ae967653 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 2afc3d9ca4..ae0792b1a6 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 2a60643afd..9bf6436e2f 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: -- 2.39.2