// (C) 2005 Max Howell (max.howell@methylblue.com) // See COPYING file for licensing information #ifndef XINECONFIG_H #define XINECONFIG_H #include #include class KComboBox; class KLineEdit; class TQCheckBox; class TQGridLayout; class TQSpinBox; typedef struct xine_s xine_t; typedef struct xine_cfg_entry_s xine_cfg_entry_t; ///stores a single config entry of the config file class XineConfigEntry : public TQObject { enum ClassType { LineEdit, ComboBox, SpinBox, CheckBox }; TQWidget *m_widget; TQCString m_key; TQCString m_string; int m_number; static inline ClassType classType( const TQCString &name ) { return name == "KLineEdit" ? LineEdit : name == "KComboBox" ? ComboBox : name == "TQSpinBox" ? SpinBox : CheckBox; } public: XineConfigEntry( TQWidget *parent, TQGridLayout*, xine_cfg_entry_t* ); bool isChanged() const; void save( xine_t* ); void reset(); inline const TQCString &key() const { return m_key; } }; class XineConfigDialog : public KDialogBase { static KDialogBase *s_instance; TQPtrList m_entrys; xine_t *m_xine; public: XineConfigDialog( xine_t *xine, TQWidget *parent ); bool isUnsavedSettings() const; void saveSettings(); static KDialogBase *instance() { return s_instance; } protected: virtual void slotUser1(); virtual void slotHelp(); }; #endif