KWin
Loading...
Searching...
No Matches
zoom_config.cpp
Go to the documentation of this file.
1/*
2 KWin - the KDE window manager
3 This file is part of the KDE project.
4
5 SPDX-FileCopyrightText: 2007 Rivo Laks <rivolaks@hot.ee>
6 SPDX-FileCopyrightText: 2010 Sebastian Sauer <sebsauer@kdab.com>
7
8 SPDX-License-Identifier: GPL-2.0-or-later
9*/
10#include "zoom_config.h"
11
12#include <config-kwin.h>
13
14// KConfigSkeleton
15#include "zoomconfig.h"
16#include <kwineffects_interface.h>
17
18#include <QAction>
19
20#include <KActionCollection>
21#include <KGlobalAccel>
22#include <KLocalizedString>
23#include <KPluginFactory>
24
25#include <QVBoxLayout>
26
27K_PLUGIN_CLASS(KWin::ZoomEffectConfig)
28
29namespace KWin
30{
31ZoomEffectConfig::ZoomEffectConfig(QObject *parent, const KPluginMetaData &data)
32 : KCModule(parent, data)
33{
34 ZoomConfig::instance(KWIN_CONFIG);
35 m_ui.setupUi(widget());
36
37 addConfig(ZoomConfig::self(), widget());
38
39 connect(m_ui.editor, &KShortcutsEditor::keyChange, this, &KCModule::markAsChanged);
40
41#if !HAVE_ACCESSIBILITY
42 m_ui.kcfg_EnableFocusTracking->setVisible(false);
43 m_ui.kcfg_EnableTextCaretTracking->setVisible(false);
44#endif
45
46 // Shortcut config. The shortcut belongs to the component "kwin"!
47 KActionCollection *actionCollection = new KActionCollection(this, QStringLiteral("kwin"));
48 actionCollection->setComponentDisplayName(i18n("KWin"));
49 actionCollection->setConfigGroup(QStringLiteral("Zoom"));
50 actionCollection->setConfigGlobal(true);
51
52 QAction *a;
53 a = actionCollection->addAction(KStandardAction::ZoomIn);
54 a->setProperty("isConfigurationAction", true);
55 KGlobalAccel::self()->setDefaultShortcut(a, QList<QKeySequence>() << (Qt::META | Qt::Key_Plus) << (Qt::META | Qt::Key_Equal));
56 KGlobalAccel::self()->setShortcut(a, QList<QKeySequence>() << (Qt::META | Qt::Key_Plus) << (Qt::META | Qt::Key_Equal));
57
58 a = actionCollection->addAction(KStandardAction::ZoomOut);
59 a->setProperty("isConfigurationAction", true);
60 KGlobalAccel::self()->setDefaultShortcut(a, QList<QKeySequence>() << (Qt::META | Qt::Key_Minus));
61 KGlobalAccel::self()->setShortcut(a, QList<QKeySequence>() << (Qt::META | Qt::Key_Minus));
62
63 a = actionCollection->addAction(KStandardAction::ActualSize);
64 a->setProperty("isConfigurationAction", true);
65 KGlobalAccel::self()->setDefaultShortcut(a, QList<QKeySequence>() << (Qt::META | Qt::Key_0));
66 KGlobalAccel::self()->setShortcut(a, QList<QKeySequence>() << (Qt::META | Qt::Key_0));
67
68 a = actionCollection->addAction(QStringLiteral("MoveZoomLeft"));
69 a->setIcon(QIcon::fromTheme(QStringLiteral("go-previous")));
70 a->setText(i18n("Move Left"));
71 a->setProperty("isConfigurationAction", true);
72 KGlobalAccel::self()->setDefaultShortcut(a, QList<QKeySequence>() << (Qt::META | Qt::CTRL | Qt::Key_Left));
73 KGlobalAccel::self()->setShortcut(a, QList<QKeySequence>() << (Qt::META | Qt::CTRL | Qt::Key_Left));
74
75 a = actionCollection->addAction(QStringLiteral("MoveZoomRight"));
76 a->setIcon(QIcon::fromTheme(QStringLiteral("go-next")));
77 a->setText(i18n("Move Right"));
78 a->setProperty("isConfigurationAction", true);
79 KGlobalAccel::self()->setDefaultShortcut(a, QList<QKeySequence>() << (Qt::META | Qt::CTRL | Qt::Key_Right));
80 KGlobalAccel::self()->setShortcut(a, QList<QKeySequence>() << (Qt::META | Qt::CTRL | Qt::Key_Right));
81
82 a = actionCollection->addAction(QStringLiteral("MoveZoomUp"));
83 a->setIcon(QIcon::fromTheme(QStringLiteral("go-up")));
84 a->setText(i18n("Move Up"));
85 a->setProperty("isConfigurationAction", true);
86 KGlobalAccel::self()->setDefaultShortcut(a, QList<QKeySequence>() << (Qt::META | Qt::CTRL | Qt::Key_Up));
87 KGlobalAccel::self()->setShortcut(a, QList<QKeySequence>() << (Qt::META | Qt::CTRL | Qt::Key_Up));
88
89 a = actionCollection->addAction(QStringLiteral("MoveZoomDown"));
90 a->setIcon(QIcon::fromTheme(QStringLiteral("go-down")));
91 a->setText(i18n("Move Down"));
92 a->setProperty("isConfigurationAction", true);
93 KGlobalAccel::self()->setDefaultShortcut(a, QList<QKeySequence>() << (Qt::META | Qt::CTRL | Qt::Key_Down));
94 KGlobalAccel::self()->setShortcut(a, QList<QKeySequence>() << (Qt::META | Qt::CTRL | Qt::Key_Down));
95
96 a = actionCollection->addAction(QStringLiteral("MoveMouseToFocus"));
97 a->setIcon(QIcon::fromTheme(QStringLiteral("view-restore")));
98 a->setText(i18n("Move Mouse to Focus"));
99 a->setProperty("isConfigurationAction", true);
100 KGlobalAccel::self()->setDefaultShortcut(a, QList<QKeySequence>() << (Qt::META | Qt::Key_F5));
101 KGlobalAccel::self()->setShortcut(a, QList<QKeySequence>() << (Qt::META | Qt::Key_F5));
102
103 a = actionCollection->addAction(QStringLiteral("MoveMouseToCenter"));
104 a->setIcon(QIcon::fromTheme(QStringLiteral("view-restore")));
105 a->setText(i18n("Move Mouse to Center"));
106 a->setProperty("isConfigurationAction", true);
107 KGlobalAccel::self()->setDefaultShortcut(a, QList<QKeySequence>() << (Qt::META | Qt::Key_F6));
108 KGlobalAccel::self()->setShortcut(a, QList<QKeySequence>() << (Qt::META | Qt::Key_F6));
109
110 m_ui.editor->addCollection(actionCollection);
111}
112
114{
115 m_ui.editor->save(); // undo() will restore to this state from now on
116 KCModule::save();
117 OrgKdeKwinEffectsInterface interface(QStringLiteral("org.kde.KWin"),
118 QStringLiteral("/Effects"),
119 QDBusConnection::sessionBus());
120 interface.reconfigureEffect(QStringLiteral("zoom"));
121}
122
123} // namespace
124
125#include "zoom_config.moc"
126
127#include "moc_zoom_config.cpp"
ZoomEffectConfig(QObject *parent, const KPluginMetaData &data)