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 *********************************************************************/
26 #include <ksharedconfig.h>
27 #include <ktemporaryfile.h>
30 #include "compositingprefs.h"
31 #include "ktimerdialog.h"
33 class KPluginSelector
;
39 class ConfirmDialog
: public KTimerDialog
46 class KWinCompositingConfig
: public KCModule
50 KWinCompositingConfig(QWidget
*parent
, const QVariantList
&args
);
51 virtual ~KWinCompositingConfig();
53 virtual QString
quickHelp() const;
56 virtual void compositingEnabled(bool enabled
);
57 virtual void showConfirmDialog(bool reinitCompositing
);
58 void currentTabChanged(int tab
);
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();
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
98 PresentWindowsCurrent
,