Changeset View
Changeset View
Standalone View
Standalone View
kcmkwin/kwincompositing/main.cpp
Show All 15 Lines | |||||
16 | * GNU General Public License for more details. * | 16 | * GNU General Public License for more details. * | ||
17 | * * | 17 | * * | ||
18 | * You should have received a copy of the GNU General Public License * | 18 | * You should have received a copy of the GNU General Public License * | ||
19 | * along with this program. If not, see <http://www.gnu.org/licenses/>. * | 19 | * along with this program. If not, see <http://www.gnu.org/licenses/>. * | ||
20 | **************************************************************************/ | 20 | **************************************************************************/ | ||
21 | 21 | | |||
22 | 22 | | |||
23 | #include "compositing.h" | 23 | #include "compositing.h" | ||
24 | #include "model.h" | | |||
25 | #include "ui_compositing.h" | 24 | #include "ui_compositing.h" | ||
26 | #include <QAction> | 25 | #include <QAction> | ||
27 | #include <QApplication> | 26 | #include <QApplication> | ||
28 | #include <QLayout> | 27 | #include <QLayout> | ||
29 | 28 | | |||
30 | #include <kcmodule.h> | 29 | #include <kcmodule.h> | ||
31 | #include <kservice.h> | 30 | #include <kservice.h> | ||
32 | 31 | | |||
33 | class KWinCompositingKCM : public KCModule | | |||
34 | { | | |||
35 | Q_OBJECT | | |||
36 | public: | | |||
37 | virtual ~KWinCompositingKCM(); | | |||
38 | | ||||
39 | public Q_SLOTS: | | |||
40 | void save() override; | | |||
41 | void load() override; | | |||
42 | void defaults() override; | | |||
43 | | ||||
44 | protected: | | |||
45 | explicit KWinCompositingKCM(QWidget* parent, const QVariantList& args, | | |||
46 | KWin::Compositing::EffectView::ViewType viewType); | | |||
47 | | ||||
48 | private: | | |||
49 | QScopedPointer<KWin::Compositing::EffectView> m_view; | | |||
50 | }; | | |||
51 | | ||||
52 | class KWinDesktopEffects : public KWinCompositingKCM | | |||
53 | { | | |||
54 | Q_OBJECT | | |||
55 | public: | | |||
56 | explicit KWinDesktopEffects(QWidget* parent = 0, const QVariantList& args = QVariantList()) | | |||
57 | : KWinCompositingKCM(parent, args, KWin::Compositing::EffectView::DesktopEffectsView) {} | | |||
58 | }; | | |||
59 | | ||||
60 | class KWinCompositingSettings : public KCModule | 32 | class KWinCompositingSettings : public KCModule | ||
61 | { | 33 | { | ||
62 | Q_OBJECT | 34 | Q_OBJECT | ||
63 | public: | 35 | public: | ||
64 | explicit KWinCompositingSettings(QWidget *parent = 0, const QVariantList &args = QVariantList()); | 36 | explicit KWinCompositingSettings(QWidget *parent = 0, const QVariantList &args = QVariantList()); | ||
65 | 37 | | |||
66 | public Q_SLOTS: | 38 | public Q_SLOTS: | ||
67 | void load() override; | 39 | void load() override; | ||
▲ Show 20 Lines • Show All 157 Lines • ▼ Show 20 Line(s) | |||||
225 | } | 197 | } | ||
226 | 198 | | |||
227 | void KWinCompositingSettings::save() | 199 | void KWinCompositingSettings::save() | ||
228 | { | 200 | { | ||
229 | KCModule::save(); | 201 | KCModule::save(); | ||
230 | m_compositing->save(); | 202 | m_compositing->save(); | ||
231 | } | 203 | } | ||
232 | 204 | | |||
233 | KWinCompositingKCM::KWinCompositingKCM(QWidget* parent, const QVariantList& args, KWin::Compositing::EffectView::ViewType viewType) | | |||
234 | : KCModule(parent, args) | | |||
235 | , m_view(new KWin::Compositing::EffectView(viewType)) | | |||
236 | { | | |||
237 | QVBoxLayout *vl = new QVBoxLayout(this); | | |||
238 | | ||||
239 | vl->addWidget(m_view.data()); | | |||
240 | setLayout(vl); | | |||
241 | connect(m_view.data(), &KWin::Compositing::EffectView::changed, [this]{ | | |||
242 | emit changed(true); | | |||
243 | }); | | |||
244 | m_view->setFocusPolicy(Qt::StrongFocus); | | |||
245 | } | | |||
246 | | ||||
247 | KWinCompositingKCM::~KWinCompositingKCM() | | |||
248 | { | | |||
249 | } | | |||
250 | | ||||
251 | void KWinCompositingKCM::save() | | |||
252 | { | | |||
253 | m_view->save(); | | |||
254 | KCModule::save(); | | |||
255 | } | | |||
256 | | ||||
257 | void KWinCompositingKCM::load() | | |||
258 | { | | |||
259 | m_view->load(); | | |||
260 | KCModule::load(); | | |||
261 | } | | |||
262 | | ||||
263 | void KWinCompositingKCM::defaults() | | |||
264 | { | | |||
265 | m_view->defaults(); | | |||
266 | KCModule::defaults(); | | |||
267 | } | | |||
268 | | ||||
269 | K_PLUGIN_FACTORY(KWinCompositingConfigFactory, | 205 | K_PLUGIN_FACTORY(KWinCompositingConfigFactory, | ||
270 | registerPlugin<KWinDesktopEffects>("effects"); | | |||
271 | registerPlugin<KWinCompositingSettings>("compositing"); | 206 | registerPlugin<KWinCompositingSettings>("compositing"); | ||
272 | ) | 207 | ) | ||
273 | 208 | | |||
274 | #include "main.moc" | 209 | #include "main.moc" |