mirror of
https://invent.kde.org/system/dolphin
synced 2024-09-12 12:54:29 +00:00
[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
This commit is contained in:
parent
4eea1dc5a1
commit
333e2ae031
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -49,6 +49,8 @@ private slots:
|
|||
void restoreDefaults();
|
||||
|
||||
private:
|
||||
static SettingsPageBase *createTrashSettingsPage(QWidget *parent);
|
||||
|
||||
QList<SettingsPageBase*> m_pages;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue