Remove KonqOperations::emptyTrash() and port to KIO::emptyTrash() instead.

This commit is contained in:
David Faure 2014-08-21 22:01:23 +02:00
parent 5a6ac1b5f7
commit e44ddfa5ab
2 changed files with 17 additions and 16 deletions

View file

@ -35,6 +35,8 @@
#include <KGlobal>
#include <KIconLoader>
#include <KIO/RestoreJob>
#include <KIO/EmptyTrashJob>
#include <KIO/JobUiDelegate>
#include <KJobUiDelegate>
#include <KJobWidgets>
#include <KMenu>
@ -158,7 +160,13 @@ void DolphinContextMenu::openTrashContextMenu()
addShowMenuBarAction();
if (exec(m_pos) == emptyTrashAction) {
KonqOperations::emptyTrash(m_mainWindow);
KIO::JobUiDelegate uiDelegate;
uiDelegate.setWindow(m_mainWindow);
if (uiDelegate.askDeleteConfirmation(QList<QUrl>(), KIO::JobUiDelegate::EmptyTrash, KIO::JobUiDelegate::DefaultConfirmation)) {
KIO::Job* job = KIO::emptyTrash();
KJobWidgets::setWindow(job, m_mainWindow);
job->ui()->setAutoErrorHandlingEnabled(true);
}
}
}

View file

@ -29,6 +29,7 @@
#include <KDirNotify>
#include <KIcon>
#include <KIO/Job>
#include <KIO/EmptyTrashJob>
#include <KIO/JobUiDelegate>
#include <KJobWidgets>
#include <KLocale>
@ -426,7 +427,8 @@ void PlacesPanel::slotTrashUpdated(KJob* job)
if (job->error()) {
emit errorMessage(job->errorString());
}
org::kde::KDirNotify::emitFilesAdded(QUrl("trash:/"));
// as long as KIO doesn't do this, do it ourselves
KNotification::event("Trash: emptied", QString(), QPixmap(), 0, KNotification::DefaultEvent);
}
void PlacesPanel::slotStorageSetupDone(int index, bool success)
@ -450,20 +452,11 @@ void PlacesPanel::slotStorageSetupDone(int index, bool success)
void PlacesPanel::emptyTrash()
{
const QString text = i18nc("@info", "Do you really want to empty the Trash? All items will be deleted.");
const bool del = KMessageBox::warningContinueCancel(window(),
text,
QString(),
KGuiItem(i18nc("@action:button", "Empty Trash"),
KIcon("user-trash"))
) == KMessageBox::Continue;
if (del) {
QByteArray packedArgs;
QDataStream stream(&packedArgs, QIODevice::WriteOnly);
stream << int(1);
KIO::Job *job = KIO::special(KUrl("trash:/"), packedArgs);
KNotification::event("Trash: emptied", QString() , QPixmap() , 0, KNotification::DefaultEvent);
KJobWidgets::setWindow(job, parentWidget());
KIO::JobUiDelegate uiDelegate;
uiDelegate.setWindow(window());
if (uiDelegate.askDeleteConfirmation(QList<QUrl>(), KIO::JobUiDelegate::EmptyTrash, KIO::JobUiDelegate::DefaultConfirmation)) {
KIO::Job* job = KIO::emptyTrash();
KJobWidgets::setWindow(job, window());
connect(job, &KIO::Job::result, this, &PlacesPanel::slotTrashUpdated);
}
}