Changeset View
Changeset View
Standalone View
Standalone View
kconf_update/spectacle_update.cpp
- This file was added.
1 | #include <KConfig> | ||||
---|---|---|---|---|---|
2 | #include <KConfigGroup> | ||||
3 | | ||||
4 | int main(void) | ||||
5 | { | ||||
6 | KConfig config(QStringLiteral("khotkeysrc")); | ||||
7 | | ||||
8 | // Remove spectacle (if present) from entry "AlreadyImported" of [Main] group of file khotkeysrc | ||||
9 | if (config.hasGroup(QStringLiteral("Main")) | ||||
10 | && config.group(QStringLiteral("Main")).hasKey(QStringLiteral("AlreadyImported"))) { | ||||
11 | | ||||
12 | QStringList importedList(config.group(QStringLiteral("Main")).readEntry( | ||||
13 | QStringLiteral("AlreadyImported")).split(QStringLiteral(","), QString::SkipEmptyParts)); | ||||
14 | | ||||
15 | QStringListIterator it(importedList); | ||||
16 | QStringList updatedHotkeys; | ||||
17 | while (it.hasNext()) { | ||||
18 | QString entry = it.next().simplified(); | ||||
19 | if (entry != QStringLiteral("spectacle")) { | ||||
20 | updatedHotkeys.push_back(entry); | ||||
21 | } | ||||
22 | } | ||||
23 | | ||||
24 | updatedHotkeys.join(QStringLiteral(",")); | ||||
25 | config.group(QStringLiteral("Main")).writeEntry(QStringLiteral("AlreadyImported"), | ||||
26 | updatedHotkeys.join(QStringLiteral(","))); | ||||
27 | } | ||||
28 | | ||||
29 | // Remove all shortcuts for spectacle present in file khotkeysrc | ||||
30 | QStringList groupList(config.groupList()); | ||||
31 | for (int i = 1; groupList.contains(QStringLiteral("Data_%1").arg(QString::number(i))); i++) { | ||||
32 | | ||||
33 | KConfigGroup group = config.group(QStringLiteral("Data_%1").arg(QString::number(i))); | ||||
34 | if (group.hasKey(QStringLiteral("ImportId")) | ||||
35 | && group.readEntry(QStringLiteral("ImportId")) == QStringLiteral("spectacle")) { | ||||
36 | | ||||
37 | for (const QString groupName : groupList) { | ||||
38 | if (groupName.startsWith(QStringLiteral("Data_%1").arg(QString::number(i)))) { | ||||
39 | config.group(groupName).deleteGroup(); | ||||
40 | } | ||||
41 | } | ||||
42 | } | ||||
43 | } | ||||
44 | } |