#include "placesview.h"
#include "trash/dolphintrash.h"
#include "views/draganddrophelper.h"
+#include "settings/dolphinsettingsdialog.h"
#include <KFilePlaceEditDialog>
#include <KFilePlacesModel>
QMenu menu(this);
QAction* emptyTrashAction = nullptr;
+ QAction* configureTrashAction = nullptr;
QAction* editAction = nullptr;
QAction* teardownAction = nullptr;
QAction* ejectAction = nullptr;
if (item->url().isLocalFile()) {
propertiesAction = menu.addAction(QIcon::fromTheme(QStringLiteral("document-properties")), i18nc("@action:inmenu", "Properties"));
}
- if (!isDevice && !isTrash) {
+ if (!isDevice) {
menu.addSeparator();
}
}
}
+ if (isTrash) {
+ configureTrashAction = menu.addAction(QIcon::fromTheme(QStringLiteral("configure")), i18nc("@action:inmenu", "Configure Trash..."));
+ }
+
if (!isDevice) {
editAction = menu.addAction(QIcon::fromTheme(QStringLiteral("edit-entry")), i18nc("@item:inmenu", "Edit..."));
}
if (action) {
if (action == emptyTrashAction) {
Trash::empty(this);
+ } else if (action == configureTrashAction) {
+ DolphinSettingsDialog* settingsDialog = new DolphinSettingsDialog(item->url(), this);
+ settingsDialog->setCurrentPage(settingsDialog->trashSettings);
+ settingsDialog->setAttribute(Qt::WA_DeleteOnClose);
+ settingsDialog->show();
} else {
// The index might have changed if devices were added/removed while
// the context menu was open.
trashSettingsPage = createTrashSettingsPage(this);
#endif
if (trashSettingsPage) {
- KPageWidgetItem* trashSettingsFrame = addPage(trashSettingsPage,
+ trashSettings = addPage(trashSettingsPage,
i18nc("@title:group", "Trash"));
- trashSettingsFrame->setIcon(QIcon::fromTheme(QStringLiteral("user-trash")));
+ trashSettings->setIcon(QIcon::fromTheme(QStringLiteral("user-trash")));
connect(trashSettingsPage, &TrashSettingsPage::changed, this, &DolphinSettingsDialog::enableApply);
}