Changeset View
Changeset View
Standalone View
Standalone View
src/settings/dolphinsettingsdialog.cpp
Show All 23 Lines | |||||
24 | #include "dolphin_generalsettings.h" | 24 | #include "dolphin_generalsettings.h" | ||
25 | #include "general/generalsettingspage.h" | 25 | #include "general/generalsettingspage.h" | ||
26 | #include "navigation/navigationsettingspage.h" | 26 | #include "navigation/navigationsettingspage.h" | ||
27 | #include "services/servicessettingspage.h" | 27 | #include "services/servicessettingspage.h" | ||
28 | #include "startup/startupsettingspage.h" | 28 | #include "startup/startupsettingspage.h" | ||
29 | #include "viewmodes/viewsettingspage.h" | 29 | #include "viewmodes/viewsettingspage.h" | ||
30 | #include "trash/trashsettingspage.h" | 30 | #include "trash/trashsettingspage.h" | ||
31 | 31 | | |||
32 | #include <KAuthorized> | ||||
32 | #include <KWindowConfig> | 33 | #include <KWindowConfig> | ||
33 | #include <KLocalizedString> | 34 | #include <KLocalizedString> | ||
34 | #include <QIcon> | 35 | #include <QIcon> | ||
35 | 36 | | |||
36 | #include <QPushButton> | 37 | #include <QPushButton> | ||
37 | #include <QDialogButtonBox> | 38 | #include <QDialogButtonBox> | ||
38 | 39 | | |||
39 | DolphinSettingsDialog::DolphinSettingsDialog(const QUrl& url, QWidget* parent) : | 40 | DolphinSettingsDialog::DolphinSettingsDialog(const QUrl& url, QWidget* parent) : | ||
Show All 40 Lines | 44 | { | |||
80 | // Services | 81 | // Services | ||
81 | ServicesSettingsPage* servicesSettingsPage = new ServicesSettingsPage(this); | 82 | ServicesSettingsPage* servicesSettingsPage = new ServicesSettingsPage(this); | ||
82 | KPageWidgetItem* servicesSettingsFrame = addPage(servicesSettingsPage, | 83 | KPageWidgetItem* servicesSettingsFrame = addPage(servicesSettingsPage, | ||
83 | i18nc("@title:group", "Services")); | 84 | i18nc("@title:group", "Services")); | ||
84 | servicesSettingsFrame->setIcon(QIcon::fromTheme(QStringLiteral("flag"))); | 85 | servicesSettingsFrame->setIcon(QIcon::fromTheme(QStringLiteral("flag"))); | ||
85 | connect(servicesSettingsPage, &ServicesSettingsPage::changed, this, &DolphinSettingsDialog::enableApply); | 86 | connect(servicesSettingsPage, &ServicesSettingsPage::changed, this, &DolphinSettingsDialog::enableApply); | ||
86 | 87 | | |||
87 | // Trash | 88 | // Trash | ||
88 | TrashSettingsPage* trashSettingsPage = new TrashSettingsPage(this); | 89 | auto* trashSettingsPage = createTrashSettingsPage(this); | ||
90 | if (trashSettingsPage) { | ||||
89 | KPageWidgetItem* trashSettingsFrame = addPage(trashSettingsPage, | 91 | KPageWidgetItem* trashSettingsFrame = addPage(trashSettingsPage, | ||
90 | i18nc("@title:group", "Trash")); | 92 | i18nc("@title:group", "Trash")); | ||
91 | trashSettingsFrame->setIcon(QIcon::fromTheme(QStringLiteral("trash-empty"))); | 93 | trashSettingsFrame->setIcon(QIcon::fromTheme(QStringLiteral("trash-empty"))); | ||
92 | connect(trashSettingsPage, &TrashSettingsPage::changed, this, &DolphinSettingsDialog::enableApply); | 94 | connect(trashSettingsPage, &TrashSettingsPage::changed, this, &DolphinSettingsDialog::enableApply); | ||
95 | } | ||||
93 | 96 | | |||
94 | // General | 97 | // General | ||
95 | GeneralSettingsPage* generalSettingsPage = new GeneralSettingsPage(url, this); | 98 | GeneralSettingsPage* generalSettingsPage = new GeneralSettingsPage(url, this); | ||
96 | KPageWidgetItem* generalSettingsFrame = addPage(generalSettingsPage, | 99 | KPageWidgetItem* generalSettingsFrame = addPage(generalSettingsPage, | ||
97 | i18nc("@title:group General settings", "General")); | 100 | i18nc("@title:group General settings", "General")); | ||
98 | generalSettingsFrame->setIcon(QIcon::fromTheme(QStringLiteral("view-preview"))); | 101 | generalSettingsFrame->setIcon(QIcon::fromTheme(QStringLiteral("view-preview"))); | ||
99 | connect(generalSettingsPage, &GeneralSettingsPage::changed, this, &DolphinSettingsDialog::enableApply); | 102 | connect(generalSettingsPage, &GeneralSettingsPage::changed, this, &DolphinSettingsDialog::enableApply); | ||
100 | 103 | | |||
Show All 39 Lines | |||||
140 | 143 | | |||
141 | void DolphinSettingsDialog::restoreDefaults() | 144 | void DolphinSettingsDialog::restoreDefaults() | ||
142 | { | 145 | { | ||
143 | foreach (SettingsPageBase* page, m_pages) { | 146 | foreach (SettingsPageBase* page, m_pages) { | ||
144 | page->restoreDefaults(); | 147 | page->restoreDefaults(); | ||
145 | } | 148 | } | ||
146 | } | 149 | } | ||
147 | 150 | | |||
151 | SettingsPageBase *DolphinSettingsDialog::createTrashSettingsPage(QWidget *parent) | ||||
152 | { | ||||
153 | if (!KAuthorized::authorizeControlModule(QStringLiteral("kcmtrash.desktop"))) { | ||||
154 | return nullptr; | ||||
155 | } | ||||
156 | | ||||
157 | return new TrashSettingsPage(parent); | ||||
158 | } |