From 489b56b68bb29e81337e115c490eea4403001b71 Mon Sep 17 00:00:00 2001 From: Dimosthenis Krallis Date: Fri, 18 Aug 2023 07:07:48 +0000 Subject: Dolphin settings revamp It includes a move of the settings in the Navigation and Startup sections to the Interface (formerly Behavior) section. It also includes a new tab in the View (formerly View Mode) section, called General where some settings regarding Display style, Browsing and Miscellaneous settings The Interface section has new tabs named Folders & Tabs and Status & Location bars respectively where most of the Startup and Navigation settings moved. The `dolphin/kcms/kcm_dolphinnavigation` kcm is removed. --- src/settings/kcm/kcmdolphingeneral.cpp | 17 ++++---- src/settings/kcm/kcmdolphinnavigation.cpp | 48 ----------------------- src/settings/kcm/kcmdolphinnavigation.h | 32 --------------- src/settings/kcm/kcmdolphinnavigation.json | 63 ------------------------------ 4 files changed, 9 insertions(+), 151 deletions(-) delete mode 100644 src/settings/kcm/kcmdolphinnavigation.cpp delete mode 100644 src/settings/kcm/kcmdolphinnavigation.h delete mode 100644 src/settings/kcm/kcmdolphinnavigation.json (limited to 'src/settings/kcm') diff --git a/src/settings/kcm/kcmdolphingeneral.cpp b/src/settings/kcm/kcmdolphingeneral.cpp index c002da926..32241d112 100644 --- a/src/settings/kcm/kcmdolphingeneral.cpp +++ b/src/settings/kcm/kcmdolphingeneral.cpp @@ -6,9 +6,10 @@ #include "kcmdolphingeneral.h" -#include "settings/general/behaviorsettingspage.h" -#include "settings/general/confirmationssettingspage.h" -#include "settings/general/previewssettingspage.h" +#include "settings/interface/confirmationssettingspage.h" +#include "settings/interface/folderstabssettingspage.h" +#include "settings/interface/interfacesettingspage.h" +#include "settings/interface/previewssettingspage.h" #include #include @@ -30,10 +31,10 @@ DolphinGeneralConfigModule::DolphinGeneralConfigModule(QWidget *parent, const QV QTabWidget *tabWidget = new QTabWidget(this); - // initialize 'Behavior' tab - BehaviorSettingsPage *behaviorPage = new BehaviorSettingsPage(QUrl::fromLocalFile(QDir::homePath()), tabWidget); - tabWidget->addTab(behaviorPage, i18nc("@title:tab Behavior settings", "Behavior")); - connect(behaviorPage, &BehaviorSettingsPage::changed, this, &DolphinGeneralConfigModule::markAsChanged); + // initialize 'Folders & Tabs' tab + FoldersTabsSettingsPage *foldersTabsPage = new FoldersTabsSettingsPage(tabWidget); + tabWidget->addTab(foldersTabsPage, i18nc("@title:tab Behavior settings", "Behavior")); + connect(foldersTabsPage, &FoldersTabsSettingsPage::changed, this, &DolphinGeneralConfigModule::markAsChanged); // initialize 'Previews' tab PreviewsSettingsPage *previewsPage = new PreviewsSettingsPage(tabWidget); @@ -44,7 +45,7 @@ DolphinGeneralConfigModule::DolphinGeneralConfigModule(QWidget *parent, const QV ConfirmationsSettingsPage *confirmationsPage = new ConfirmationsSettingsPage(tabWidget); tabWidget->addTab(confirmationsPage, i18nc("@title:tab Confirmations settings", "Confirmations")); connect(confirmationsPage, &ConfirmationsSettingsPage::changed, this, &DolphinGeneralConfigModule::markAsChanged); - m_pages.append(behaviorPage); + m_pages.append(foldersTabsPage); m_pages.append(previewsPage); m_pages.append(confirmationsPage); diff --git a/src/settings/kcm/kcmdolphinnavigation.cpp b/src/settings/kcm/kcmdolphinnavigation.cpp deleted file mode 100644 index dd4756d8b..000000000 --- a/src/settings/kcm/kcmdolphinnavigation.cpp +++ /dev/null @@ -1,48 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2009 Peter Penz - * - * SPDX-License-Identifier: GPL-2.0-or-later - */ - -#include "kcmdolphinnavigation.h" - -#include "settings/navigation/navigationsettingspage.h" -#include - -#include - -#include - -K_PLUGIN_CLASS_WITH_JSON(DolphinNavigationConfigModule, "kcmdolphinnavigation.json") - -DolphinNavigationConfigModule::DolphinNavigationConfigModule(QWidget *parent, const QVariantList &args) - : KCModule(parent, args) - , m_navigation(nullptr) -{ - setButtons(KCModule::Default | KCModule::Help | KCModule::Apply); - - QVBoxLayout *topLayout = new QVBoxLayout(this); - topLayout->setContentsMargins(0, 0, 0, 0); - - m_navigation = new NavigationSettingsPage(this); - connect(m_navigation, &NavigationSettingsPage::changed, this, &DolphinNavigationConfigModule::markAsChanged); - topLayout->addWidget(m_navigation, 0, {}); -} - -DolphinNavigationConfigModule::~DolphinNavigationConfigModule() -{ -} - -void DolphinNavigationConfigModule::save() -{ - m_navigation->applySettings(); -} - -void DolphinNavigationConfigModule::defaults() -{ - m_navigation->restoreDefaults(); -} - -#include "kcmdolphinnavigation.moc" - -#include "moc_kcmdolphinnavigation.cpp" diff --git a/src/settings/kcm/kcmdolphinnavigation.h b/src/settings/kcm/kcmdolphinnavigation.h deleted file mode 100644 index 97d7bff85..000000000 --- a/src/settings/kcm/kcmdolphinnavigation.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2009 Peter Penz - * - * SPDX-License-Identifier: GPL-2.0-or-later - */ - -#ifndef KCMDOLPHINNAVIGATION_H -#define KCMDOLPHINNAVIGATION_H - -#include - -class NavigationSettingsPage; - -/** - * @brief Allow to configure the Dolphin navigation. - */ -class DolphinNavigationConfigModule : public KCModule -{ - Q_OBJECT - -public: - DolphinNavigationConfigModule(QWidget *parent, const QVariantList &args); - ~DolphinNavigationConfigModule() override; - - void save() override; - void defaults() override; - -private: - NavigationSettingsPage *m_navigation; -}; - -#endif diff --git a/src/settings/kcm/kcmdolphinnavigation.json b/src/settings/kcm/kcmdolphinnavigation.json deleted file mode 100644 index 8bf2cbfd8..000000000 --- a/src/settings/kcm/kcmdolphinnavigation.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "KPlugin": { - "Icon": "preferences-desktop-navigation", - "Name": "Navigation", - "Name[ar]": "التّنقّل", - "Name[az]": "Naviqasiya", - "Name[be]": "Навігацыя", - "Name[bg]": "Навигация", - "Name[ca@valencia]": "Navegació", - "Name[ca]": "Navegació", - "Name[cs]": "Navigace", - "Name[da]": "Navigation", - "Name[de]": "Navigation", - "Name[en_GB]": "Navigation", - "Name[eo]": "Navigado", - "Name[es]": "Navegación", - "Name[et]": "Liikumine", - "Name[eu]": "Nabigatzea", - "Name[fi]": "Selaus", - "Name[fr]": "Navigation", - "Name[gl]": "Navegación", - "Name[he]": "ניווט", - "Name[hi]": "संचालन", - "Name[hu]": "Navigálás", - "Name[ia]": "Navigation", - "Name[id]": "Navigasi", - "Name[ie]": "Navigation", - "Name[is]": "Skoðun", - "Name[it]": "Navigazione", - "Name[ja]": "ナビゲーション", - "Name[ka]": "ნავიგაცია", - "Name[ko]": "탐색", - "Name[lt]": "Naršymas", - "Name[lv]": "Navigācija", - "Name[ml]": "നാവിഗേഷന്‍", - "Name[my]": "လမ်းညွှန်", - "Name[nb]": "Navigasjon", - "Name[nl]": "Navigatie", - "Name[nn]": "Navigasjon", - "Name[pa]": "ਨੇਵੀਗੇਸ਼ਨ", - "Name[pl]": "Poruszanie się", - "Name[pt]": "Navegação", - "Name[pt_BR]": "Navegação", - "Name[ro]": "Navigare", - "Name[ru]": "Навигация", - "Name[se]": "Navigašuvdna", - "Name[sk]": "Navigácia", - "Name[sl]": "Krmarjenje", - "Name[sr@ijekavian]": "Навигација", - "Name[sr@ijekavianlatin]": "Navigacija", - "Name[sr@latin]": "Navigacija", - "Name[sr]": "Навигација", - "Name[sv]": "Navigering", - "Name[ta]": "உலாவல்", - "Name[tr]": "Dolaşım", - "Name[uk]": "Навігація", - "Name[vi]": "Điều hướng", - "Name[x-test]": "xxNavigationxx", - "Name[zh_CN]": "导航", - "Name[zh_TW]": "導覽" - }, - "X-DocPath": "dolphin/configuring-dolphin.html#preferences-dialog-navigation" -} -- cgit v1.3 From ff852b97f110691cda4c2f63f8d0f6bf8759fe2f Mon Sep 17 00:00:00 2001 From: Méven Car Date: Wed, 23 Aug 2023 13:11:20 +0200 Subject: Re-Allow to set settings in Settings-> View-> General page Regressed in 489b56b68bb29e81337e115c490eea4403001b71 Simplify implementation by sharing making class ViewSettingsPage implement SettingsPageBase sharing implementation with other tabs in viewsettingspage --- src/CMakeLists.txt | 1 + src/settings/kcm/kcmdolphinviewmodes.cpp | 2 +- src/settings/viewmodes/viewsettingspage.cpp | 15 +++++---------- src/settings/viewmodes/viewsettingspage.h | 2 +- src/settings/viewmodes/viewsettingstab.cpp | 4 ++-- src/settings/viewmodes/viewsettingstab.h | 8 ++++---- 6 files changed, 14 insertions(+), 18 deletions(-) (limited to 'src/settings/kcm') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ce078278a..cd9abec81 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -505,6 +505,7 @@ if(NOT WIN32) settings/viewmodes/dolphinfontrequester.cpp settings/viewmodes/viewmodesettings.cpp settings/viewmodes/viewsettingstab.cpp + settings/settingspagebase.cpp views/zoomlevelinfo.cpp settings/kcm/kcmdolphinviewmodes.h settings/viewmodes/dolphinfontrequester.h diff --git a/src/settings/kcm/kcmdolphinviewmodes.cpp b/src/settings/kcm/kcmdolphinviewmodes.cpp index 867faf69e..962f0f112 100644 --- a/src/settings/kcm/kcmdolphinviewmodes.cpp +++ b/src/settings/kcm/kcmdolphinviewmodes.cpp @@ -67,7 +67,7 @@ void DolphinViewModesConfigModule::save() void DolphinViewModesConfigModule::defaults() { for (ViewSettingsTab *tab : qAsConst(m_tabs)) { - tab->restoreDefaultSettings(); + tab->restoreDefaults(); } reparseConfiguration(); } diff --git a/src/settings/viewmodes/viewsettingspage.cpp b/src/settings/viewmodes/viewsettingspage.cpp index 8e101c3d2..5e740640d 100644 --- a/src/settings/viewmodes/viewsettingspage.cpp +++ b/src/settings/viewmodes/viewsettingspage.cpp @@ -50,6 +50,8 @@ ViewSettingsPage::ViewSettingsPage(const QUrl &url, QWidget *parent) tabWidget->addTab(detailsTab, QIcon::fromTheme(QStringLiteral("view-list-tree")), i18nc("@title:tab", "Details")); connect(detailsTab, &ViewSettingsTab::changed, this, &ViewSettingsPage::changed); + m_tabs.append(generalViewPage); + m_tabs.append(contentDisplayTab); m_tabs.append(iconsTab); m_tabs.append(compactTab); m_tabs.append(detailsTab); @@ -63,23 +65,16 @@ ViewSettingsPage::~ViewSettingsPage() void ViewSettingsPage::applySettings() { - contentDisplayTab->applySettings(); - - for (ViewSettingsTab *tab : qAsConst(m_tabs)) { + for (SettingsPageBase *tab : qAsConst(m_tabs)) { tab->applySettings(); } } void ViewSettingsPage::restoreDefaults() { - if (tabWidget->currentWidget() == contentDisplayTab) { - contentDisplayTab->restoreDefaults(); - return; - } - - for (ViewSettingsTab *tab : qAsConst(m_tabs)) { + for (SettingsPageBase *tab : qAsConst(m_tabs)) { if (tabWidget->currentWidget() == tab) { - tab->restoreDefaultSettings(); + tab->restoreDefaults(); return; } } diff --git a/src/settings/viewmodes/viewsettingspage.h b/src/settings/viewmodes/viewsettingspage.h index 76743252b..eae2a6427 100644 --- a/src/settings/viewmodes/viewsettingspage.h +++ b/src/settings/viewmodes/viewsettingspage.h @@ -36,7 +36,7 @@ public: private: ContentDisplayTab *contentDisplayTab; QTabWidget *tabWidget; - QList m_tabs; + QList m_tabs; }; #endif diff --git a/src/settings/viewmodes/viewsettingstab.cpp b/src/settings/viewmodes/viewsettingstab.cpp index ae80a2558..5aca58ba1 100644 --- a/src/settings/viewmodes/viewsettingstab.cpp +++ b/src/settings/viewmodes/viewsettingstab.cpp @@ -26,7 +26,7 @@ #include ViewSettingsTab::ViewSettingsTab(Mode mode, QWidget *parent) - : QWidget(parent) + : SettingsPageBase(parent) , m_mode(mode) , m_defaultSizeSlider(nullptr) , m_previewSizeSlider(nullptr) @@ -186,7 +186,7 @@ void ViewSettingsTab::applySettings() settings.save(); } -void ViewSettingsTab::restoreDefaultSettings() +void ViewSettingsTab::restoreDefaults() { ViewModeSettings settings(m_mode); settings.useDefaults(true); diff --git a/src/settings/viewmodes/viewsettingstab.h b/src/settings/viewmodes/viewsettingstab.h index 6be8fc3b5..fd4cc85a7 100644 --- a/src/settings/viewmodes/viewsettingstab.h +++ b/src/settings/viewmodes/viewsettingstab.h @@ -7,7 +7,7 @@ #ifndef VIEWSETTINGSTAB_H #define VIEWSETTINGSTAB_H -#include +#include "settings/settingspagebase.h" class DolphinFontRequester; class QComboBox; @@ -19,7 +19,7 @@ class QRadioButton; /** * @brief Represents one tab of the view-settings page. */ -class ViewSettingsTab : public QWidget +class ViewSettingsTab : public SettingsPageBase { Q_OBJECT @@ -29,8 +29,8 @@ public: explicit ViewSettingsTab(Mode mode, QWidget *parent = nullptr); ~ViewSettingsTab() override; - void applySettings(); - void restoreDefaultSettings(); + void applySettings() override; + void restoreDefaults() override; Q_SIGNALS: void changed(); -- cgit v1.3