void DolphinContextMenu::openTrashContextMenu() { Q_ASSERT(m_context & TrashContext); QAction* emptyTrashAction = new QAction(QIcon::fromTheme(QStringLiteral("trash-empty")), i18nc("@action:inmenu", "Empty Trash"), this); KConfig trashConfig(QStringLiteral("trashrc"), KConfig::SimpleConfig); emptyTrashAction->setEnabled(!trashConfig.group("Status").readEntry("Empty", true)); addAction(emptyTrashAction); addCustomActions(); QAction* propertiesAction = m_mainWindow->actionCollection()->action(QStringLiteral("properties")); addAction(propertiesAction); addShowMenuBarAction(); if (exec(m_pos) == emptyTrashAction) { 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); } } }
void KDirSelectDialog::Private::slotDelete() { const KUrl url = m_treeView->selectedUrl(); KIO::JobUiDelegate job; if (job.askDeleteConfirmation(KUrl::List() << url, KIO::JobUiDelegate::Delete, KIO::JobUiDelegate::DefaultConfirmation)) { KIO::DeleteJob* deleteJob = KIO::del(url); deleteJob->ui()->setWindow(m_parent); deleteJob->ui()->setAutoErrorHandlingEnabled(true); } }
void KDirSelectDialog::Private::slotMoveToTrash() { const KUrl url = m_treeView->selectedUrl(); KIO::JobUiDelegate job; if (job.askDeleteConfirmation(KUrl::List() << url, KIO::JobUiDelegate::Trash, KIO::JobUiDelegate::DefaultConfirmation)) { KIO::CopyJob* copyJob = KIO::trash(url); copyJob->ui()->setWindow(this->m_parent); copyJob->ui()->setAutoErrorHandlingEnabled(true); } }
void KonqPopupMenuPrivate::slotPopupEmptyTrashBin() { KIO::JobUiDelegate uiDelegate; uiDelegate.setWindow(m_parentWidget); if (uiDelegate.askDeleteConfirmation(QList<QUrl>(), KIO::JobUiDelegate::EmptyTrash, KIO::JobUiDelegate::DefaultConfirmation)) { KIO::Job *job = KIO::emptyTrash(); KJobWidgets::setWindow(job, m_parentWidget); job->ui()->setAutoErrorHandlingEnabled(true); // or connect to the result signal } }
bool KonqOperations::askDeleteConfirmation( const KUrl::List & selectedUrls, int method, ConfirmationType confirmation, QWidget* widget ) { KIO::JobUiDelegate::DeletionType deletionType; switch (method) { case EMPTYTRASH: deletionType = KIO::JobUiDelegate::EmptyTrash; break; case DEL: deletionType = KIO::JobUiDelegate::Delete; break; default: deletionType = KIO::JobUiDelegate::Trash; break; } KIO::JobUiDelegate::ConfirmationType confirmationType = confirmation == FORCE_CONFIRMATION ? KIO::JobUiDelegate::ForceConfirmation : KIO::JobUiDelegate::DefaultConfirmation; KIO::JobUiDelegate uiDelegate; uiDelegate.setWindow(widget); return uiDelegate.askDeleteConfirmation(selectedUrls, deletionType, confirmationType); }