]> cloud.milkyroute.net Git - dolphin.git/blob - src/settings/kcm/kcmdolphingeneral.cpp
Merge remote-tracking branch 'origin/release/21.08'
[dolphin.git] / src / settings / kcm / kcmdolphingeneral.cpp
1 /*
2 * SPDX-FileCopyrightText: 2009 Peter Penz <peter.penz19@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7 #include "kcmdolphingeneral.h"
8
9 #include "settings/general/behaviorsettingspage.h"
10 #include "settings/general/previewssettingspage.h"
11 #include "settings/general/confirmationssettingspage.h"
12
13 #include <KLocalizedString>
14 #include <KPluginFactory>
15 #include <kconfigwidgets_version.h>
16
17 #include <QTabWidget>
18 #include <QVBoxLayout>
19
20 K_PLUGIN_FACTORY(KCMDolphinGeneralConfigFactory, registerPlugin<DolphinGeneralConfigModule>();)
21
22 DolphinGeneralConfigModule::DolphinGeneralConfigModule(QWidget *parent, const QVariantList &args) :
23 KCModule(parent, args),
24 m_pages()
25 {
26 setButtons(KCModule::Default | KCModule::Help);
27
28 QVBoxLayout* topLayout = new QVBoxLayout(this);
29 topLayout->setContentsMargins(0, 0, 0, 0);
30
31 QTabWidget* tabWidget = new QTabWidget(this);
32
33 // initialize 'Behavior' tab
34 BehaviorSettingsPage* behaviorPage = new BehaviorSettingsPage(QUrl::fromLocalFile(QDir::homePath()), tabWidget);
35 tabWidget->addTab(behaviorPage, i18nc("@title:tab Behavior settings", "Behavior"));
36 connect(behaviorPage, &BehaviorSettingsPage::changed, this, &DolphinGeneralConfigModule::markAsChanged);
37
38 // initialize 'Previews' tab
39 PreviewsSettingsPage* previewsPage = new PreviewsSettingsPage(tabWidget);
40 tabWidget->addTab(previewsPage, i18nc("@title:tab Previews settings", "Previews"));
41 connect(previewsPage, &PreviewsSettingsPage::changed, this, &DolphinGeneralConfigModule::markAsChanged);
42
43 // initialize 'Confirmations' tab
44 ConfirmationsSettingsPage* confirmationsPage = new ConfirmationsSettingsPage(tabWidget);
45 tabWidget->addTab(confirmationsPage, i18nc("@title:tab Confirmations settings", "Confirmations"));
46 connect(confirmationsPage, &ConfirmationsSettingsPage::changed, this, &DolphinGeneralConfigModule::markAsChanged);
47 m_pages.append(behaviorPage);
48 m_pages.append(previewsPage);
49 m_pages.append(confirmationsPage);
50
51 topLayout->addWidget(tabWidget, 0, {});
52 }
53
54 DolphinGeneralConfigModule::~DolphinGeneralConfigModule()
55 {
56 }
57
58 void DolphinGeneralConfigModule::save()
59 {
60 for (SettingsPageBase* page : qAsConst(m_pages)) {
61 page->applySettings();
62 }
63 }
64
65 void DolphinGeneralConfigModule::defaults()
66 {
67 for (SettingsPageBase* page : qAsConst(m_pages)) {
68 page->applySettings();
69 }
70 }
71
72 #include "kcmdolphingeneral.moc"