kwin/kconf_update/kwin-6.0-remove-breeze-tabbox-default.cpp
Marco Martin 86ede0ecf2 Remove invalid tabbox configs from defaults
We know that org.kde.breeze.desktop is invalid as LayoutName for the
tabbox, it will break the default button in the tabbox kcm.
Also the DesktopListLayout and DesktopLayout aren't valid anymore

BUG:481640
2024-02-29 11:14:31 +00:00

40 lines
1.2 KiB
C++

/*
SPDX-FileCopyrightText: 2024 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#include <KConfigGroup>
#include <KSharedConfig>
int main()
{
KConfig config(QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + QLatin1String("/kdedefaults/kwinrc"), KConfig::SimpleConfig);
KConfigGroup windows = config.group(QStringLiteral("TabBox"));
bool needsSync = false;
if (!windows.exists()) {
return EXIT_SUCCESS;
}
if (windows.hasKey(QStringLiteral("LayoutName")) && windows.readEntry(QStringLiteral("LayoutName"), QString()) == QString("org.kde.breeze.desktop")) {
windows.deleteEntry(QStringLiteral("LayoutName"));
needsSync = true;
}
if (windows.hasKey(QStringLiteral("DesktopListLayout"))) {
windows.deleteEntry(QStringLiteral("DesktopListLayout"));
needsSync = true;
}
if (windows.hasKey(QStringLiteral("DesktopLayout"))) {
windows.deleteEntry(QStringLiteral("DesktopLayout"));
needsSync = true;
}
if (needsSync) {
return windows.sync() ? EXIT_SUCCESS : EXIT_FAILURE;
} else {
return EXIT_SUCCESS;
}
}