00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef _COMPONENTCHOOSER_H_
00017 #define _COMPONENTCHOOSER_H_
00018
00019 #include "componentchooser_ui.h"
00020 #include "componentconfig_ui.h"
00021 #include "emailclientconfig_ui.h"
00022 #include "terminalemulatorconfig_ui.h"
00023 #include "browserconfig_ui.h"
00024 #include <tqdict.h>
00025 #include <tqstring.h>
00026
00027 #include <kservice.h>
00028
00029 class TQListBoxItem;
00030 class KEMailSettings;
00031 class KConfig;
00032
00033
00034
00035
00036 class CfgPlugin
00037 {
00038 public:
00039 CfgPlugin(){};
00040 virtual ~CfgPlugin(){};
00041 virtual void load(KConfig *cfg)=0;
00042 virtual void save(KConfig *cfg)=0;
00043 virtual void defaults()=0;
00044 };
00045
00046
00047 class CfgComponent: public ComponentConfig_UI,public CfgPlugin
00048 {
00049 Q_OBJECT
00050 public:
00051 CfgComponent(TQWidget *parent);
00052 virtual ~CfgComponent();
00053 virtual void load(KConfig *cfg);
00054 virtual void save(KConfig *cfg);
00055 virtual void defaults();
00056
00057 protected:
00058 TQDict<TQString> m_lookupDict,m_revLookupDict;
00059
00060 protected slots:
00061 void slotComponentChanged(const TQString&);
00062 signals:
00063 void changed(bool);
00064 };
00065
00066
00067 class CfgEmailClient: public EmailClientConfig_UI,public CfgPlugin
00068 {
00069 Q_OBJECT
00070 public:
00071 CfgEmailClient(TQWidget *parent);
00072 virtual ~CfgEmailClient();
00073 virtual void load(KConfig *cfg);
00074 virtual void save(KConfig *cfg);
00075 virtual void defaults();
00076
00077 private:
00078 KEMailSettings *pSettings;
00079
00080 protected slots:
00081 void selectEmailClient();
00082 void configChanged();
00083 signals:
00084 void changed(bool);
00085 };
00086
00087 class CfgTerminalEmulator: public TerminalEmulatorConfig_UI,public CfgPlugin
00088 {
00089 Q_OBJECT
00090 public:
00091 CfgTerminalEmulator(TQWidget *parent);
00092 virtual ~CfgTerminalEmulator();
00093 virtual void load(KConfig *cfg);
00094 virtual void save(KConfig *cfg);
00095 virtual void defaults();
00096
00097 protected slots:
00098 void selectTerminalApp();
00099 void configChanged();
00100
00101 signals:
00102 void changed(bool);
00103 };
00104
00105 class CfgBrowser: public BrowserConfig_UI,public CfgPlugin
00106 {
00107 Q_OBJECT
00108 public:
00109 CfgBrowser(TQWidget *parent);
00110 virtual ~CfgBrowser();
00111 virtual void load(KConfig *cfg);
00112 virtual void save(KConfig *cfg);
00113 virtual void defaults();
00114
00115 protected slots:
00116 void selectBrowser();
00117 void configChanged();
00118
00119 signals:
00120 void changed(bool);
00121 private:
00122 TQString m_browserExec;
00123 KService::Ptr m_browserService;
00124 };
00125
00126
00127 class ComponentChooser : public ComponentChooser_UI
00128 {
00129
00130 Q_OBJECT
00131
00132 public:
00133 ComponentChooser(TQWidget *parent=0, const char *name=0);
00134 virtual ~ComponentChooser();
00135 void load();
00136 void save();
00137 void restoreDefault();
00138
00139 private:
00140 TQString latestEditedService;
00141 bool somethingChanged;
00142 TQWidget *configWidget;
00143 TQVBoxLayout *myLayout;
00144 protected slots:
00145 void emitChanged(bool);
00146 void slotServiceSelected(TQListBoxItem *);
00147
00148 signals:
00149 void changed(bool);
00150
00151 };
00152
00153
00154 #endif