X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/6e6fcf8da80b5b6821837054ae51eaa19edc24b8..refs/heads/master:/src/admin/workerintegration.cpp?ds=sidebyside diff --git a/src/admin/workerintegration.cpp b/src/admin/workerintegration.cpp index 80d8fda1b..c0cc5ac83 100644 --- a/src/admin/workerintegration.cpp +++ b/src/admin/workerintegration.cpp @@ -122,7 +122,9 @@ WorkerIntegration::WorkerIntegration(DolphinMainWindow *parent, QAction *actAsAd void WorkerIntegration::createActAsAdminAction(KActionCollection *actionCollection, DolphinMainWindow *dolphinMainWindow) { - Q_ASSERT(!instance); + Q_ASSERT(!instance /* We never want to construct more than one instance, + however in automatic testing sometimes multiple DolphinMainWindows are created, so this assert is diluted to accommodate for that: */ + || instance->parent() != dolphinMainWindow); if (isWorkerInstalled()) { QAction *actAsAdminAction = actionCollection->addAction(QStringLiteral("act_as_admin")); actAsAdminAction->setText(actionName()); @@ -162,15 +164,17 @@ void WorkerIntegration::toggleActAsAdmin() KStandardGuiItem::cancel()); warningDialog.setDontAskAgainText(i18nc("@option:check", "Do not warn me about these risks again")); - risksAccepted = warningDialog.exec() != 4 /* Cancel */; - if (warningDialog.isDontAskAgainChecked()) { - KMessageBox::saveDontShowAgainContinue(warningDontShowAgainName); - } + risksAccepted = warningDialog.exec() == KMessageDialog::PrimaryAction; if (!risksAccepted) { + url.setScheme(QStringLiteral("file")); updateActAsAdminAction(); // Uncheck the action return; } + + if (warningDialog.isDontAskAgainChecked()) { + KMessageBox::saveDontShowAgainContinue(warningDontShowAgainName); + } } url.setScheme(QStringLiteral("admin")); @@ -192,3 +196,5 @@ void WorkerIntegration::updateActAsAdminAction() } } } + +#include "moc_workerintegration.cpp"