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());
}
}
+QAction *WorkerIntegration::FriendAccess::actAsAdminAction()
+{
+ return instance->m_actAsAdminAction;
+}
+
void WorkerIntegration::toggleActAsAdmin()
{
auto dolphinMainWindow = static_cast<DolphinMainWindow *>(parent());
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) {
updateActAsAdminAction(); // Uncheck the action
return;
}
+
+ if (warningDialog.isDontAskAgainChecked()) {
+ KMessageBox::saveDontShowAgainContinue(warningDontShowAgainName);
+ }
}
url.setScheme(QStringLiteral("admin"));
}
}
-QAction *WorkerIntegration::actAsAdminAction()
-{
- return instance->m_actAsAdminAction;
-}
+#include "moc_workerintegration.cpp"