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