/***************************************************************** KWin - the KDE window manager This file is part of the KDE project. Copyright (C) 2007 Rivo Laks <rivolaks@hot.ee> You can Freely distribute this program under the GNU General Public License. See the file "COPYING" for the exact licensing terms. ******************************************************************/ #ifndef __MAIN_H__ #define __MAIN_H__ #include <kcmodule.h> #include <ksharedconfig.h> #include <ktemporaryfile.h> #include <kdialog.h> #include "ui_main.h" #include "compositingprefs.h" class KPluginSelector; class QLabel; namespace KWin { class ConfirmDialog : public KDialog { Q_OBJECT public: ConfirmDialog(); protected slots: void advanceTimer(); private: int mSecondsToLive; QLabel* mTextLabel; }; class KWinCompositingConfig : public KCModule { Q_OBJECT public: KWinCompositingConfig(QWidget *parent, const QVariantList &args); virtual ~KWinCompositingConfig(); virtual QString quickHelp() const; public slots: virtual void compositingEnabled(bool enabled); virtual void showAdvancedOptions(); virtual void showConfirmDialog(); void currentTabChanged(int tab); virtual void load(); virtual void save(); virtual void defaults(); void reparseConfiguration(const QByteArray&conf); void loadGeneralTab(); void loadEffectsTab(); bool saveGeneralTab(); void saveEffectsTab(); void configChanged(); void initEffectSelector(); private: KSharedConfigPtr mKWinConfig; Ui::KWinCompositingConfig ui; CompositingPrefs mDefaultPrefs; QMap<QString, QString> mPreviousConfig; KTemporaryFile mTmpConfigFile; KSharedConfigPtr mTmpConfig; }; } // namespace #endif