Changeset View
Changeset View
Standalone View
Standalone View
kcms/workspaceoptions/workspaceoptions.cpp
Show All 15 Lines | |||||
16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
17 | */ | 17 | */ | ||
18 | #include "workspaceoptions.h" | 18 | #include "workspaceoptions.h" | ||
19 | 19 | | |||
20 | #include <KPluginFactory> | 20 | #include <KPluginFactory> | ||
21 | #include <KAboutData> | 21 | #include <KAboutData> | ||
22 | #include <KLocalizedString> | 22 | #include <KLocalizedString> | ||
23 | #include <KConfigGroup> | 23 | #include <KConfigGroup> | ||
24 | | ||||
25 | #include <ksharedconfig.h> | 24 | #include <ksharedconfig.h> | ||
25 | #include <KDELibs4Support/KDE/KGlobalSettings> | ||||
26 | #include <../migrationlib/kdelibs4config.h> | ||||
27 | | ||||
28 | #include <QtDBus/QDBusMessage> | ||||
29 | #include <QtDBus/QDBusConnection> | ||||
26 | 30 | | |||
27 | K_PLUGIN_FACTORY_WITH_JSON(KCMWorkspaceOptionsFactory, "kcm_workspace.json", registerPlugin<KCMWorkspaceOptions>();) | 31 | K_PLUGIN_FACTORY_WITH_JSON(KCMWorkspaceOptionsFactory, "kcm_workspace.json", registerPlugin<KCMWorkspaceOptions>();) | ||
28 | 32 | | |||
29 | KCMWorkspaceOptions::KCMWorkspaceOptions(QObject *parent, const QVariantList& args) | 33 | KCMWorkspaceOptions::KCMWorkspaceOptions(QObject *parent, const QVariantList& args) | ||
30 | : KQuickAddons::ConfigModule(parent, args), | 34 | : KQuickAddons::ConfigModule(parent, args), | ||
31 | m_stateToolTip(true), | 35 | m_stateToolTip(true), | ||
32 | m_stateVisualFeedback(true) | 36 | m_stateVisualFeedback(true), | ||
37 | m_stateSingleClick(true) | ||||
romangg: Add `m_stateSingleClick(true)` | |||||
33 | { | 38 | { | ||
34 | KAboutData* about = new KAboutData(QStringLiteral("kcm_workspace"), | 39 | KAboutData* about = new KAboutData(QStringLiteral("kcm_workspace"), | ||
35 | i18n("Plasma Workspace global options"), | 40 | i18n("Plasma Workspace global options"), | ||
36 | QStringLiteral("1.1"), | 41 | QStringLiteral("1.1"), | ||
37 | i18n("System Settings module for managing global options for the Plasma Workspace."), | 42 | i18n("System Settings module for managing global options for the Plasma Workspace."), | ||
38 | KAboutLicense::GPL); | 43 | KAboutLicense::GPL); | ||
39 | 44 | | |||
40 | about->addAuthor(i18n("Furkan Tokac"), QString(), QStringLiteral("furkantokac34@gmail.com")); | 45 | about->addAuthor(i18n("Furkan Tokac"), QString(), QStringLiteral("furkantokac34@gmail.com")); | ||
41 | setAboutData(about); | 46 | setAboutData(about); | ||
42 | 47 | | |||
43 | setButtons( Default | Apply ); | 48 | setButtons( Default | Apply ); | ||
44 | } | 49 | } | ||
45 | 50 | | |||
46 | /*ConfigModule functions*/ | 51 | /*ConfigModule functions*/ | ||
romangg: Unrelated change. Revert pls. | |||||
47 | void KCMWorkspaceOptions::load() | 52 | void KCMWorkspaceOptions::load() | ||
48 | { | 53 | { | ||
49 | bool state = false; | 54 | bool state = false; | ||
50 | KSharedConfig::Ptr config = KSharedConfig::openConfig(QStringLiteral("plasmarc")); | 55 | KSharedConfig::Ptr config = KSharedConfig::openConfig(QStringLiteral("plasmarc")); | ||
51 | 56 | | |||
52 | // Load toolTip | 57 | // Load toolTip | ||
53 | { | 58 | { | ||
54 | const KConfigGroup cg(config, QStringLiteral("PlasmaToolTips")); | 59 | const KConfigGroup cg(config, QStringLiteral("PlasmaToolTips")); | ||
55 | state = cg.readEntry("Delay", 0.7) > 0; | 60 | state = cg.readEntry("Delay", 0.7) > 0; | ||
56 | setToolTip(state); | 61 | setToolTip(state); | ||
57 | m_ostateToolTip = getToolTip(); | 62 | m_ostateToolTip = getToolTip(); | ||
58 | } | 63 | } | ||
59 | 64 | | |||
60 | // Load visualFeedback | 65 | // Load visualFeedback | ||
61 | { | 66 | { | ||
62 | const KConfigGroup cg(config, QStringLiteral("OSD")); | 67 | const KConfigGroup cg(config, QStringLiteral("OSD")); | ||
63 | state = cg.readEntry(QStringLiteral("Enabled"), true); | 68 | state = cg.readEntry(QStringLiteral("Enabled"), true); | ||
64 | setVisualFeedback(state); | 69 | setVisualFeedback(state); | ||
65 | m_ostateVisualFeedback = getVisualFeedback(); | 70 | m_ostateVisualFeedback = getVisualFeedback(); | ||
66 | } | 71 | } | ||
67 | 72 | | |||
73 | // Load singleClick | ||||
74 | { | ||||
75 | KSharedConfig::Ptr configKdeGlobals = KSharedConfig::openConfig(QStringLiteral("kdeglobals")); | ||||
76 | const KConfigGroup cg(configKdeGlobals, QStringLiteral("KDE")); | ||||
77 | state = cg.readEntry(QStringLiteral("SingleClick"), true); | ||||
78 | setSingleClick(state); | ||||
79 | m_ostateSingleClick = getSingleClick(); | ||||
80 | } | ||||
81 | | ||||
68 | setNeedsSave(false); | 82 | setNeedsSave(false); | ||
69 | } | 83 | } | ||
70 | 84 | | |||
71 | void KCMWorkspaceOptions::save() | 85 | void KCMWorkspaceOptions::save() | ||
72 | { | 86 | { | ||
73 | KSharedConfig::Ptr config = KSharedConfig::openConfig(QStringLiteral("plasmarc")); | 87 | KSharedConfig::Ptr config = KSharedConfig::openConfig(QStringLiteral("plasmarc")); | ||
74 | 88 | | |||
75 | // Save toolTip | 89 | // Save toolTip | ||
76 | { | 90 | { | ||
77 | KConfigGroup cg(config, QStringLiteral("PlasmaToolTips")); | 91 | KConfigGroup cg(config, QStringLiteral("PlasmaToolTips")); | ||
78 | cg.writeEntry("Delay", getToolTip() ? 0.7 : -1); | 92 | cg.writeEntry("Delay", getToolTip() ? 0.7 : -1); | ||
79 | m_ostateToolTip = getToolTip(); | 93 | m_ostateToolTip = getToolTip(); | ||
80 | } | 94 | } | ||
81 | 95 | | |||
82 | // Save visualFeedback | 96 | // Save visualFeedback | ||
83 | { | 97 | { | ||
84 | KConfigGroup cg(config, QStringLiteral("OSD")); | 98 | KConfigGroup cg(config, QStringLiteral("OSD")); | ||
85 | cg.writeEntry("Enabled", getVisualFeedback()); | 99 | cg.writeEntry("Enabled", getVisualFeedback()); | ||
86 | m_ostateVisualFeedback = getVisualFeedback(); | 100 | m_ostateVisualFeedback = getVisualFeedback(); | ||
87 | } | 101 | } | ||
88 | 102 | | |||
103 | // Save singleClick | ||||
104 | KSharedConfig::Ptr configKdeGlobals = KSharedConfig::openConfig(QStringLiteral("kdeglobals")); | ||||
105 | KConfigGroup cg(configKdeGlobals, QStringLiteral("KDE")); | ||||
106 | cg.writeEntry("SingleClick", getSingleClick()); | ||||
107 | m_ostateSingleClick = getSingleClick(); | ||||
89 | config->sync(); | 108 | config->sync(); | ||
109 | configKdeGlobals->sync(); | ||||
110 | | ||||
111 | Kdelibs4SharedConfig::syncConfigGroup(QLatin1String("KDE"), "kdeglobals"); | ||||
112 | | ||||
113 | QDBusMessage message = QDBusMessage::createSignal("/KGlobalSettings", "org.kde.KGlobalSettings", "notifyChange"); | ||||
114 | QList<QVariant> args; | ||||
115 | args.append(KGlobalSettings::SettingsChanged); | ||||
116 | args.append(KGlobalSettings::SETTINGS_MOUSE); | ||||
117 | message.setArguments(args); | ||||
118 | QDBusConnection::sessionBus().send(message); | ||||
119 | | ||||
90 | setNeedsSave(false); | 120 | setNeedsSave(false); | ||
91 | } | 121 | } | ||
92 | 122 | | |||
93 | void KCMWorkspaceOptions::defaults() | 123 | void KCMWorkspaceOptions::defaults() | ||
94 | { | 124 | { | ||
95 | setToolTip(true); | 125 | setToolTip(true); | ||
96 | setVisualFeedback(true); | 126 | setVisualFeedback(true); | ||
127 | setSingleClick(true); | ||||
97 | 128 | | |||
98 | handleNeedsSave(); | 129 | handleNeedsSave(); | ||
99 | } | 130 | } | ||
100 | 131 | | |||
101 | /*ToolTip functions*/ | 132 | /*ToolTip functions*/ | ||
romangg: Unrelated change. Revert pls. | |||||
102 | bool KCMWorkspaceOptions::getToolTip() const | 133 | bool KCMWorkspaceOptions::getToolTip() const | ||
103 | { | 134 | { | ||
104 | return m_stateToolTip; | 135 | return m_stateToolTip; | ||
105 | } | 136 | } | ||
106 | 137 | | |||
107 | void KCMWorkspaceOptions::setToolTip(bool state) | 138 | void KCMWorkspaceOptions::setToolTip(bool state) | ||
108 | { | 139 | { | ||
109 | // Prevent from binding loop | 140 | // Prevent from binding loop | ||
Show All 21 Lines | 158 | { | |||
131 | } | 162 | } | ||
132 | 163 | | |||
133 | m_stateVisualFeedback = state; | 164 | m_stateVisualFeedback = state; | ||
134 | 165 | | |||
135 | emit visualFeedbackChanged(); | 166 | emit visualFeedbackChanged(); | ||
136 | handleNeedsSave(); | 167 | handleNeedsSave(); | ||
137 | } | 168 | } | ||
138 | 169 | | |||
170 | /*SingleClick functions*/ | ||||
171 | bool KCMWorkspaceOptions::getSingleClick() const | ||||
172 | { | ||||
173 | return m_stateSingleClick; | ||||
174 | } | ||||
175 | | ||||
176 | void KCMWorkspaceOptions::setSingleClick(bool state) | ||||
177 | { | ||||
178 | // Prevent from binding loop | ||||
179 | if( m_stateSingleClick == state ) { | ||||
180 | return; | ||||
181 | } | ||||
182 | | ||||
183 | m_stateSingleClick = state; | ||||
184 | | ||||
185 | emit singleClickChanged(); | ||||
186 | handleNeedsSave(); | ||||
187 | } | ||||
188 | | ||||
139 | /*Other functions*/ | 189 | /*Other functions*/ | ||
romangg: Remove | |||||
140 | // Checks if the current states are different than the first states. | 190 | // Checks if the current states are different than the first states. | ||
141 | // If yes, setNeedsSave(true). | 191 | // If yes, setNeedsSave(true). | ||
142 | void KCMWorkspaceOptions::handleNeedsSave() | 192 | void KCMWorkspaceOptions::handleNeedsSave() | ||
143 | { | 193 | { | ||
144 | setNeedsSave(m_ostateToolTip != getToolTip() || | 194 | setNeedsSave(m_ostateToolTip != getToolTip() || | ||
145 | m_ostateVisualFeedback != getVisualFeedback()); | 195 | m_ostateVisualFeedback != getVisualFeedback() || | ||
196 | m_ostateSingleClick != getSingleClick()); | ||||
146 | } | 197 | } | ||
147 | 198 | | |||
romangg: Remove | |||||
148 | #include "workspaceoptions.moc" | 199 | #include "workspaceoptions.moc" |
Add m_stateSingleClick(true)