/*************************************************************************** Setup dialog for the equalizer (c) 2004 Mark Kretschmann (c) 2005 Seb Ruiz (c) 2005 Markus Brueffer ***************************************************************************/ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ #ifndef AMAROK_EQUALIZERSETUP_H #define AMAROK_EQUALIZERSETUP_H #include //stack alloc #include class EqualizerGraph; class TQGroupBox; class TQCheckBox; class KComboBox; class TDEPopupMenu; namespace Amarok { class Slider; } class EqualizerSetup : public KDialogBase { Q_OBJECT public: static EqualizerSetup* instance() { return s_instance ? s_instance : new EqualizerSetup(); } static bool isInstantiated() { return s_instance ? true : false; } EqualizerSetup(); ~EqualizerSetup(); // for use by DCOP void setActive( bool active ); void setBands( int preamp, TQValueList gains ); void setPreset( TQString name ); private slots: void presetChanged( int id ); void presetChanged( TQString title ); void sliderChanged(); void setEqualizerEnabled( bool ); void setEqualizerParameters(); void editPresets(); void addPreset(); private: static EqualizerSetup* s_instance; void loadPresets(); void savePresets(); void updatePresets(TQString selectTitle = TQString()); TQString presetsCache() const; Amarok::Slider* m_slider_preamp; EqualizerGraph* m_equalizerGraph; TQPtrList m_bandSliders; TQGroupBox* m_groupBoxSliders; KComboBox* m_presetCombo; uint m_manualPos; TQMap< TQString, TQValueList > m_presets; }; #endif /*AMAROK_EQUALIZERSETUP_H*/