- KIO::JobUiDelegate uiDelegate;
- uiDelegate.setWindow(window);
- bool confirmed = uiDelegate.askDeleteConfirmation(QList<QUrl>(), KIO::JobUiDelegate::EmptyTrash, KIO::JobUiDelegate::DefaultConfirmation);
- if (confirmed) {
- KIO::Job* job = KIO::emptyTrash();
- KJobWidgets::setWindow(job, window);
- job->uiDelegate()->setAutoErrorHandlingEnabled(true);
- // as long as KIO doesn't do this, do it ourselves
- connect(job, &KIO::Job::result, []() {
- KNotification::event(QStringLiteral("Trash: emptied"), i18n("Trash Emptied"),
- i18n("The Trash was emptied."), QStringLiteral("user-trash"),
- nullptr, KNotification::DefaultEvent);
- });
- return job;
- }
- return nullptr;
+ using Iface = KIO::AskUserActionInterface;
+ auto *emptyJob = new KIO::DeleteOrTrashJob(QList<QUrl>{}, Iface::EmptyTrash, Iface::DefaultConfirmation, window);
+ QObject::connect(emptyJob, &KIO::Job::result, notifyEmptied);
+ emptyJob->start();