X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/92b178b7404b002778d8288353f65e27ee5de5dd..ffce84e759714e94de01a546009b4b41c64cdf28:/src/admin/workerintegration.cpp diff --git a/src/admin/workerintegration.cpp b/src/admin/workerintegration.cpp index 038c52094..0b95ec782 100644 --- a/src/admin/workerintegration.cpp +++ b/src/admin/workerintegration.cpp @@ -134,43 +134,41 @@ void WorkerIntegration::createActAsAdminAction(KActionCollection *actionCollecti } } -void WorkerIntegration::exitAdminMode() -{ - if (instance->m_actAsAdminAction->isChecked()) { - instance->m_actAsAdminAction->trigger(); - } -} - void WorkerIntegration::toggleActAsAdmin() { auto dolphinMainWindow = static_cast(parent()); QUrl url = dolphinMainWindow->activeViewContainer()->urlNavigator()->locationUrl(); - if (url.scheme() == QStringLiteral("file")) { - bool risksAccepted = !KMessageBox::shouldBeShownContinue(warningDontShowAgainName); - if (!risksAccepted) { - KMessageDialog warningDialog{KMessageDialog::QuestionTwoActions, warningMessage(), dolphinMainWindow}; - warningDialog.setCaption(i18nc("@title:window", "Risks of Acting as an Administrator")); - warningDialog.setIcon(QIcon::fromTheme(QStringLiteral("security-low"))); - warningDialog.setButtons(KGuiItem{i18nc("@action:button", "I Understand and Accept These Risks"), QStringLiteral("data-warning")}, - 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); - } + if (url.scheme() == QStringLiteral("admin")) { + url.setScheme(QStringLiteral("file")); + dolphinMainWindow->changeUrl(url); + return; + } else if (url.scheme() != QStringLiteral("file")) { + return; + } - if (!risksAccepted) { - updateActAsAdminAction(); // Uncheck the action - return; - } + bool risksAccepted = !KMessageBox::shouldBeShownContinue(warningDontShowAgainName); + + if (!risksAccepted) { + KMessageDialog warningDialog{KMessageDialog::QuestionTwoActions, warningMessage(), dolphinMainWindow}; + warningDialog.setCaption(i18nc("@title:window", "Risks of Acting as an Administrator")); + warningDialog.setIcon(QIcon::fromTheme(QStringLiteral("security-low"))); + warningDialog.setButtons(KGuiItem{i18nc("@action:button", "I Understand and Accept These Risks"), QStringLiteral("data-warning")}, + 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); } - url.setScheme(QStringLiteral("admin")); - } else if (url.scheme() == QStringLiteral("admin")) { - url.setScheme(QStringLiteral("file")); + if (!risksAccepted) { + updateActAsAdminAction(); // Uncheck the action + return; + } } + + url.setScheme(QStringLiteral("admin")); dolphinMainWindow->changeUrl(url); } @@ -189,3 +187,8 @@ void WorkerIntegration::updateActAsAdminAction() } } } + +QAction *WorkerIntegration::actAsAdminAction() +{ + return instance->m_actAsAdminAction; +}