┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/settings/dolphinsettingsdialog.cpp
diff options
context:
space:
mode:
authorKai Uwe Broulik <[email protected]>2017-02-08 16:07:19 +0100
committerKai Uwe Broulik <[email protected]>2017-02-08 16:07:19 +0100
commit333e2ae031fec6139a712f15283f0fffb23f2dc6 (patch)
tree9b31336ab1ab30b54356e1d4f4bfee77f964f8d6 /src/settings/dolphinsettingsdialog.cpp
parent4eea1dc5a15f7b8acc3f0f0c2313c7ff2c029b27 (diff)
[Settings Dialog] Show Trash settings only if authorized
If this KCM is disabled through KIOSK restriction opening it would result in an error message. Hide the entry altogether in this case. Differential Revision: https://phabricator.kde.org/D4502
Diffstat (limited to 'src/settings/dolphinsettingsdialog.cpp')
-rw-r--r--src/settings/dolphinsettingsdialog.cpp21
1 files changed, 16 insertions, 5 deletions
diff --git a/src/settings/dolphinsettingsdialog.cpp b/src/settings/dolphinsettingsdialog.cpp
index 9eb57f10b..5314c24ed 100644
--- a/src/settings/dolphinsettingsdialog.cpp
+++ b/src/settings/dolphinsettingsdialog.cpp
@@ -29,6 +29,7 @@
#include "viewmodes/viewsettingspage.h"
#include "trash/trashsettingspage.h"
+#include <KAuthorized>
#include <KWindowConfig>
#include <KLocalizedString>
#include <QIcon>
@@ -85,11 +86,13 @@ DolphinSettingsDialog::DolphinSettingsDialog(const QUrl& url, QWidget* parent) :
connect(servicesSettingsPage, &ServicesSettingsPage::changed, this, &DolphinSettingsDialog::enableApply);
// Trash
- TrashSettingsPage* trashSettingsPage = new TrashSettingsPage(this);
- KPageWidgetItem* trashSettingsFrame = addPage(trashSettingsPage,
- i18nc("@title:group", "Trash"));
- trashSettingsFrame->setIcon(QIcon::fromTheme(QStringLiteral("trash-empty")));
- connect(trashSettingsPage, &TrashSettingsPage::changed, this, &DolphinSettingsDialog::enableApply);
+ auto* trashSettingsPage = createTrashSettingsPage(this);
+ if (trashSettingsPage) {
+ KPageWidgetItem* trashSettingsFrame = addPage(trashSettingsPage,
+ i18nc("@title:group", "Trash"));
+ trashSettingsFrame->setIcon(QIcon::fromTheme(QStringLiteral("trash-empty")));
+ connect(trashSettingsPage, &TrashSettingsPage::changed, this, &DolphinSettingsDialog::enableApply);
+ }
// General
GeneralSettingsPage* generalSettingsPage = new GeneralSettingsPage(url, this);
@@ -145,3 +148,11 @@ void DolphinSettingsDialog::restoreDefaults()
}
}
+SettingsPageBase *DolphinSettingsDialog::createTrashSettingsPage(QWidget *parent)
+{
+ if (!KAuthorized::authorizeControlModule(QStringLiteral("kcmtrash.desktop"))) {
+ return nullptr;
+ }
+
+ return new TrashSettingsPage(parent);
+}