KWin
Loading...
Searching...
No Matches
tileseditoreffectkcm.cpp
Go to the documentation of this file.
1/*
2 SPDX-FileCopyrightText: 2022 Marco Martin <mart@kde.org>
3
4 SPDX-License-Identifier: GPL-2.0-or-later
5*/
7
8#include <config-kwin.h>
9
10#include <kwineffects_interface.h>
11
12#include <KActionCollection>
13#include <KGlobalAccel>
14#include <KLocalizedString>
15#include <KPluginFactory>
16
17#include <QAction>
18
20
21namespace KWin
22{
23
24TilesEditorEffectConfig::TilesEditorEffectConfig(QObject *parent, const KPluginMetaData &data)
25 : KCModule(parent, data)
26{
27 ui.setupUi(widget());
28
29 auto actionCollection = new KActionCollection(this, QStringLiteral("kwin"));
30
31 actionCollection->setComponentDisplayName(i18n("KWin"));
32 actionCollection->setConfigGroup(QStringLiteral("tileseditor"));
33 actionCollection->setConfigGlobal(true);
34
35 const QKeySequence defaultToggleShortcut = Qt::META | Qt::Key_T;
36 QAction *toggleAction = actionCollection->addAction(QStringLiteral("Edit Tiles"));
37 toggleAction->setText(i18n("Toggle Tiles Editor"));
38 toggleAction->setProperty("isConfigurationAction", true);
39 KGlobalAccel::self()->setDefaultShortcut(toggleAction, {defaultToggleShortcut});
40 KGlobalAccel::self()->setShortcut(toggleAction, {defaultToggleShortcut});
41
42 ui.shortcutsEditor->addCollection(actionCollection);
43 connect(ui.shortcutsEditor, &KShortcutsEditor::keyChange, this, &KCModule::markAsChanged);
44}
45
47{
48 KCModule::save();
49 ui.shortcutsEditor->save();
50
51 OrgKdeKwinEffectsInterface interface(QStringLiteral("org.kde.KWin"),
52 QStringLiteral("/Effects"),
53 QDBusConnection::sessionBus());
54 interface.reconfigureEffect(QStringLiteral("tileseditor"));
55}
56
58{
59 ui.shortcutsEditor->allDefault();
60 KCModule::defaults();
61}
62
63} // namespace KWin
64
65#include "tileseditoreffectkcm.moc"
66
67#include "moc_tileseditoreffectkcm.cpp"
TilesEditorEffectConfig(QObject *parent, const KPluginMetaData &data)