add more spacing
[personal-kdebase.git] / workspace / kwin / kcmkwin / kwincompositing / main.h
blob6e9c0dfe87a1eb031c468fde3081323b60e39cc1
1 /********************************************************************
2 KWin - the KDE window manager
3 This file is part of the KDE project.
5 Copyright (C) 2007 Rivo Laks <rivolaks@hot.ee>
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>.
19 *********************************************************************/
21 #ifndef __MAIN_H__
22 #define __MAIN_H__
24 #include <kcmodule.h>
26 #include <ksharedconfig.h>
27 #include <ktemporaryfile.h>
29 #include "ui_main.h"
30 #include "compositingprefs.h"
31 #include "ktimerdialog.h"
33 class KPluginSelector;
34 class QLabel;
36 namespace KWin
39 class ConfirmDialog : public KTimerDialog
41 Q_OBJECT
42 public:
43 ConfirmDialog();
46 class KWinCompositingConfig : public KCModule
48 Q_OBJECT
49 public:
50 KWinCompositingConfig(QWidget *parent, const QVariantList &args);
51 virtual ~KWinCompositingConfig();
53 virtual QString quickHelp() const;
55 public slots:
56 virtual void compositingEnabled(bool enabled);
57 virtual void showConfirmDialog(bool reinitCompositing);
58 void currentTabChanged(int tab);
60 virtual void load();
61 virtual void save();
62 virtual void defaults();
63 void reparseConfiguration(const QByteArray& conf);
65 void loadGeneralTab();
66 void loadEffectsTab();
67 void loadAdvancedTab();
68 void loadElectricBorders();
69 void saveGeneralTab();
70 void saveEffectsTab();
71 bool saveAdvancedTab();
72 void electricBorderSelectionChanged(int edge, int index);
74 void configChanged(bool reinitCompositing);
75 void initEffectSelector();
77 private:
78 bool effectEnabled( const QString& effect, const KConfigGroup& cfg ) const;
79 void setupElectricBorders();
80 void addItemToEdgesMonitor(const QString& item);
81 void changeElectricBorder( ElectricBorder border, int index );
82 ElectricBorder checkEffectHasElectricBorder( int index );
83 void saveElectricBorders();
85 KSharedConfigPtr mKWinConfig;
86 Ui::KWinCompositingConfig ui;
87 CompositingPrefs mDefaultPrefs;
89 QMap<QString, QString> mPreviousConfig;
90 KTemporaryFile mTmpConfigFile;
91 KSharedConfigPtr mTmpConfig;
92 bool m_showConfirmDialog;
94 enum ElectricBorderEffects
96 NoEffect,
97 PresentWindowsAll,
98 PresentWindowsCurrent,
99 DesktopGrid,
100 Cube,
101 Cylinder,
102 Sphere
106 } // namespace
108 #endif