diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -1322,7 +1322,7 @@ renameAction->setEnabled(capabilities.supportsMoving()); moveToTrashAction->setEnabled(enableMoveToTrash); - deleteAction->setEnabled(capabilities.supportsDeleting()); + deleteAction->setEnabled(true); deleteWithTrashShortcut->setEnabled(capabilities.supportsDeleting() && !enableMoveToTrash); cutAction->setEnabled(capabilities.supportsMoving()); } diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp --- a/src/views/dolphinview.cpp +++ b/src/views/dolphinview.cpp @@ -664,11 +664,20 @@ void DolphinView::deleteSelectedItems() { const QList list = simplifiedSelectedUrls(); + KFileItemList itemList; + foreach(QUrl u , list) { + KFileItem i(u); + itemList << i; + } + KFileItemListProperties capabilities(itemList); KIO::JobUiDelegate uiDelegate; + const KIO::JobUiDelegate::DeletionType delType = capabilities.supportsDeleting() ? KIO::JobUiDelegate::Delete : KIO::JobUiDelegate::DeletePrivileged; + const QString showWarning = capabilities.supportsDeleting() ? QStringLiteral("true") : QStringLiteral("false"); uiDelegate.setWindow(window()); - if (uiDelegate.askDeleteConfirmation(list, KIO::JobUiDelegate::Delete, KIO::JobUiDelegate::DefaultConfirmation)) { + if (uiDelegate.askDeleteConfirmation(list, delType, KIO::JobUiDelegate::DefaultConfirmation)) { KIO::Job* job = KIO::del(list); + job->addMetaData(QStringLiteral("ShowInternalWarning"), showWarning); KJobWidgets::setWindow(job, this); connect(job, &KIO::Job::result, this, &DolphinView::slotDeleteFileFinished);