Warning, file /system/dolphin/src/settings/kcm/kcmdolphingeneral.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /*
0002  * SPDX-FileCopyrightText: 2009 Peter Penz <peter.penz19@gmail.com>
0003  *
0004  * SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #include "kcmdolphingeneral.h"
0008 
0009 #include "settings/interface/confirmationssettingspage.h"
0010 #include "settings/interface/folderstabssettingspage.h"
0011 #include "settings/interface/interfacesettingspage.h"
0012 #include "settings/interface/previewssettingspage.h"
0013 
0014 #include <KLocalizedString>
0015 #include <KPluginFactory>
0016 #include <kconfigwidgets_version.h>
0017 
0018 #include <QTabWidget>
0019 #include <QVBoxLayout>
0020 
0021 K_PLUGIN_CLASS_WITH_JSON(DolphinGeneralConfigModule, "kcmdolphingeneral.json")
0022 
0023 DolphinGeneralConfigModule::DolphinGeneralConfigModule(QObject *parent, const KPluginMetaData &data)
0024     : KCModule(parent, data)
0025     , m_pages()
0026 {
0027     setButtons(KCModule::Default | KCModule::Help | KCModule::Apply);
0028 
0029     QVBoxLayout *topLayout = new QVBoxLayout(widget());
0030     topLayout->setContentsMargins(0, 0, 0, 0);
0031 
0032     QTabWidget *tabWidget = new QTabWidget(widget());
0033 
0034     // initialize 'Folders & Tabs' tab
0035     FoldersTabsSettingsPage *foldersTabsPage = new FoldersTabsSettingsPage(tabWidget);
0036     tabWidget->addTab(foldersTabsPage, i18nc("@title:tab Behavior settings", "Behavior"));
0037     connect(foldersTabsPage, &FoldersTabsSettingsPage::changed, this, &DolphinGeneralConfigModule::markAsChanged);
0038 
0039     // initialize 'Previews' tab
0040     PreviewsSettingsPage *previewsPage = new PreviewsSettingsPage(tabWidget);
0041     tabWidget->addTab(previewsPage, i18nc("@title:tab Previews settings", "Previews"));
0042     connect(previewsPage, &PreviewsSettingsPage::changed, this, &DolphinGeneralConfigModule::markAsChanged);
0043 
0044     // initialize 'Confirmations' tab
0045     ConfirmationsSettingsPage *confirmationsPage = new ConfirmationsSettingsPage(tabWidget);
0046     tabWidget->addTab(confirmationsPage, i18nc("@title:tab Confirmations settings", "Confirmations"));
0047     connect(confirmationsPage, &ConfirmationsSettingsPage::changed, this, &DolphinGeneralConfigModule::markAsChanged);
0048     m_pages.append(foldersTabsPage);
0049     m_pages.append(previewsPage);
0050     m_pages.append(confirmationsPage);
0051 
0052     topLayout->addWidget(tabWidget, 0, {});
0053 }
0054 
0055 DolphinGeneralConfigModule::~DolphinGeneralConfigModule()
0056 {
0057 }
0058 
0059 void DolphinGeneralConfigModule::save()
0060 {
0061     for (SettingsPageBase *page : std::as_const(m_pages)) {
0062         page->applySettings();
0063     }
0064 }
0065 
0066 void DolphinGeneralConfigModule::defaults()
0067 {
0068     for (SettingsPageBase *page : std::as_const(m_pages)) {
0069         page->applySettings();
0070     }
0071 }
0072 
0073 #include "kcmdolphingeneral.moc"
0074 
0075 #include "moc_kcmdolphingeneral.cpp"