X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fgui%2Fqt4%2Fcomponents%2Fextended_panels.hpp;h=32df4304f1e806d9ed6b1057789563d168137a8a;hb=79ece335a3d4c52a42891b088c2f58d77ba4a26b;hp=17829a8beffe1b12a699e539a7391945f4d9ec1a;hpb=cc7d4e44dfd2a666c103a5423af0dcd466a5259e;p=vlc diff --git a/modules/gui/qt4/components/extended_panels.hpp b/modules/gui/qt4/components/extended_panels.hpp index 17829a8bef..32df4304f1 100644 --- a/modules/gui/qt4/components/extended_panels.hpp +++ b/modules/gui/qt4/components/extended_panels.hpp @@ -83,6 +83,43 @@ private slots: void ValueChange( bool value ); }; +class FilterSliderData : public QObject +{ + Q_OBJECT + +public: + typedef struct + { + const char *psz_name; + const char *psz_descs; + const char *psz_units; + const float f_min; // min + const float f_max; // max + const float f_value; // value + const float f_resolution; // resolution + } slider_data_t; + FilterSliderData( QObject *parent, intf_thread_t *p_intf, + QSlider *slider, + QLabel *valueLabel, QLabel *nameLabel, + const slider_data_t *p_data ); + void setValue( float f ); + +protected: + float initialValue(); + +public slots: + void onValueChanged( int i ); + void updateText( int i ); + void writeToConfig(); + +private: + intf_thread_t *p_intf; + QSlider *slider; + QLabel *valueLabel; + QLabel *nameLabel; + const slider_data_t *p_data; +}; + class Equalizer: public QWidget { Q_OBJECT @@ -122,32 +159,12 @@ public: Compressor( intf_thread_t *, QWidget * ); private: - typedef struct - { - const char *psz_name; - const char *psz_descs; - const char *psz_units; - const float f_min; // min - const float f_max; // max - const float f_value; // value - const float f_resolution; // resolution - } comp_controls_t; - static const comp_controls_t comp_controls[NUM_CP_CTRL]; - QSlider *compCtrl[NUM_CP_CTRL]; - QLabel *ctrl_texts[NUM_CP_CTRL]; - QLabel *ctrl_readout[NUM_CP_CTRL]; - float controlVars[NUM_CP_CTRL]; - float oldControlVars[NUM_CP_CTRL]; - + static const FilterSliderData::slider_data_t comp_controls[NUM_CP_CTRL]; QGroupBox *compressorBox; - intf_thread_t *p_intf; - void updateSliders(); - private slots: void enable(); - void setValues(); }; class Spatializer: public QWidget