┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRafał Lichwała <[email protected]>2025-11-24 20:32:08 +0100
committerRafał Lichwała <[email protected]>2025-12-03 12:20:01 +0100
commiteaa43c5d89024b90fada14a76702deefff54f3ea (patch)
treef0e92f40bd784d0c1a21fc0ec695d188f91c71d2 /src
parent9e5926147606737a87cf17535db1ecbfd2c9a2c5 (diff)
kconfig: add update script for split view closing options
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt14
-rw-r--r--src/settings/dolphin_splitviewsettings.upd6
-rw-r--r--src/settings/dolphin_update_splitviewsettings.cpp25
3 files changed, 45 insertions, 0 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 80f2f12b1..3cf10f486 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -646,6 +646,20 @@ install(
DESTINATION ${KDE_INSTALL_LIBDIR}/kconf_update_bin
)
+add_executable(
+ dolphin_update_splitviewsettings
+ "settings/dolphin_update_splitviewsettings.cpp"
+)
+target_link_libraries(dolphin_update_splitviewsettings
+ KF6::ConfigCore
+ KF6::XmlGui
+)
+install(
+ TARGETS
+ dolphin_update_splitviewsettings
+ DESTINATION ${KDE_INSTALL_LIBDIR}/kconf_update_bin
+)
+
if(BUILD_TESTING)
add_subdirectory(tests)
endif()
diff --git a/src/settings/dolphin_splitviewsettings.upd b/src/settings/dolphin_splitviewsettings.upd
new file mode 100644
index 000000000..212f005f7
--- /dev/null
+++ b/src/settings/dolphin_splitviewsettings.upd
@@ -0,0 +1,6 @@
+#Configuration update for Dolphin
+Version=6
+
+#Convert bool CloseActiveSplitView to enum CloseSplitViewChoice
+Id=24.11.2025-convert-closeactivesplitview-bool-to-closesplitviewchoice-enum
+Script=dolphin_update_splitviewsettings
diff --git a/src/settings/dolphin_update_splitviewsettings.cpp b/src/settings/dolphin_update_splitviewsettings.cpp
new file mode 100644
index 000000000..5ba905442
--- /dev/null
+++ b/src/settings/dolphin_update_splitviewsettings.cpp
@@ -0,0 +1,25 @@
+#include <KConfigGroup>
+#include <KSharedConfig>
+
+int main()
+{
+ const auto closeActiveSplitView = QStringLiteral("CloseActiveSplitView");
+ const auto closeSplitViewChoice = QStringLiteral("CloseSplitViewChoice");
+ auto config = KSharedConfig::openConfig(QStringLiteral("dolphinrc"));
+
+ KConfigGroup general = config->group(QStringLiteral("General"));
+ if (!general.hasKey(closeActiveSplitView)) {
+ return EXIT_SUCCESS;
+ }
+
+ const auto value = general.readEntry(closeActiveSplitView);
+ if (value == QStringLiteral("true")) {
+ general.deleteEntry(closeActiveSplitView);
+ general.writeEntry(closeSplitViewChoice, QStringLiteral("ActiveView"));
+ } else if (value == QStringLiteral("false")) {
+ general.deleteEntry(closeActiveSplitView);
+ general.writeEntry(closeSplitViewChoice, QStringLiteral("InactiveView"));
+ }
+
+ return general.sync() ? EXIT_SUCCESS : EXIT_FAILURE;
+}