[vlc-commits] [Git][videolan/vlc][master] qt: implement functionallity to reset the value of a slider to its default...
Steve Lhomme (@robUx4)
gitlab at videolan.org
Sun May 3 11:18:36 UTC 2026
Steve Lhomme pushed to branch master at VideoLAN / VLC
Commits:
8d47a38a by Paschalis Melissas at 2026-05-03T11:04:49+00:00
qt: implement functionallity to reset the value of a slider to its default value when double-clicking on it
- - - - -
2 changed files:
- modules/gui/qt/dialogs/extended/extended_panels.cpp
- modules/gui/qt/dialogs/extended/extended_panels.hpp
Changes:
=====================================
modules/gui/qt/dialogs/extended/extended_panels.cpp
=====================================
@@ -819,6 +819,7 @@ void ExtV4l2::ValueChange( int value )
FilterSliderData::FilterSliderData( QObject *parent, QSlider *_slider ) :
QObject( parent ), slider( _slider )
{
+ slider->installEventFilter(this);
}
FilterSliderData::FilterSliderData( QObject *parent,
@@ -838,6 +839,8 @@ FilterSliderData::FilterSliderData( QObject *parent,
if ( slider->value() == slider->maximum() ||
slider->value() == slider->minimum() )
updateText( slider->value() );
+
+ slider->installEventFilter(this);
connect( slider, &QSlider::valueChanged, this, &FilterSliderData::onValueChanged );
}
@@ -889,6 +892,16 @@ void FilterSliderData::writeToConfig()
emit configChanged( p_data->name, QVariant( f ) );
}
+bool FilterSliderData::eventFilter(QObject *watched, QEvent *event)
+{
+ if (event->type() == QEvent::MouseButtonDblClick)
+ {
+ setValue(p_data->f_value);
+ return true;
+ }
+ return false;
+}
+
AudioFilterControlWidget::AudioFilterControlWidget
( qt_intf_t *_p_intf, QWidget *parent, const char *_name ) :
QWidget( parent ), slidersBox( NULL ), p_intf( _p_intf ), name( _name ),
@@ -1054,6 +1067,38 @@ void EqualizerSliderData::writeToConfig()
}
}
+bool EqualizerSliderData::eventFilter(QObject *watched, QEvent *event)
+{
+ if (event->type() == QEvent::MouseButtonDblClick)
+ {
+ SharedAOut p_aout = THEMIM->getAout();
+ if (p_aout)
+ {
+ char *psz_preset = var_GetString(p_aout.get(), "equalizer-preset");
+ if (psz_preset)
+ {
+ int j = -1;
+ for (int i = 0; i < NB_PRESETS; ++i)
+ {
+ if (!strcmp(psz_preset, preset_list[i]))
+ {
+ j = i;
+ break;
+ }
+ }
+ free(psz_preset);
+
+ if (j >= 0 && index < eqz_preset_10b[j].i_band)
+ {
+ setValue(eqz_preset_10b[j].f_amp[index]);
+ return true;
+ }
+ }
+ }
+ }
+ return FilterSliderData::eventFilter(watched, event);
+}
+
Equalizer::Equalizer( qt_intf_t *p_intf, QWidget *parent )
: AudioFilterControlWidget( p_intf, parent, "equalizer" )
{
=====================================
modules/gui/qt/dialogs/extended/extended_panels.hpp
=====================================
@@ -120,6 +120,7 @@ protected:
QLabel *nameLabel;
const slider_data_t *p_data;
qt_intf_t *p_intf;
+ bool eventFilter(QObject *watched, QEvent *event) override;
public slots:
virtual void onValueChanged( int i );
@@ -168,6 +169,7 @@ protected:
int index;
QStringList getBandsFromAout() const;
void writeToConfig() override;
+ bool eventFilter(QObject* watched, QEvent* event) override;
public slots:
void onValueChanged( int i ) override;
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/8d47a38afdd3a18969e241ade782396573de8e78
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/8d47a38afdd3a18969e241ade782396573de8e78
You're receiving this email because of your account on code.videolan.org.
More information about the vlc-commits
mailing list