summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/packagemanagercore.cpp
diff options
context:
space:
mode:
authorArttu Tarkiainen <arttu.tarkiainen@qt.io>2020-06-09 10:52:51 +0300
committerArttu Tarkiainen <arttu.tarkiainen@qt.io>2020-08-21 10:56:00 +0300
commitf2ab63396c1f101216b2c6ade37528492e464785 (patch)
tree6aeceb76196b453d8a999ddf2d4e8b0d1dc43aef /src/libs/installer/packagemanagercore.cpp
parent190b643736d7fa3270dca5926e018d6eef6d74cb (diff)
CLI: Ask user confirmation before performing installer actions
Also add new option --confirm-command to skip the interactive query. Task-number: QTIFW-1834 Change-Id: I1c63fd990431c792a523da7047637f54b193bee6 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
Diffstat (limited to 'src/libs/installer/packagemanagercore.cpp')
-rw-r--r--src/libs/installer/packagemanagercore.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/libs/installer/packagemanagercore.cpp b/src/libs/installer/packagemanagercore.cpp
index 137627ae1..89b9b782c 100644
--- a/src/libs/installer/packagemanagercore.cpp
+++ b/src/libs/installer/packagemanagercore.cpp
@@ -685,6 +685,14 @@ QHash<QString, QString> PackageManagerCore::fileDialogAutomaticAnswers() const
}
/*!
+ Set to automatically confirm install, update or remove without asking user.
+*/
+void PackageManagerCore::setAutoConfirmCommand()
+{
+ d->m_autoConfirmCommand = true;
+}
+
+/*!
Returns the size of the component \a component as \a value.
*/
quint64 PackageManagerCore::size(QInstaller::Component *component, const QString &value) const
@@ -2370,6 +2378,11 @@ bool PackageManagerCore::removeInstallationSilently()
if (d->runningProcessesFound())
throw Error(tr("Running processes found."));
+ qCDebug(QInstaller::lcInstallerUninstallLog) << "Complete uninstallation was chosen.";
+ if (!(d->m_autoConfirmCommand || d->askUserConfirmCommand())) {
+ qCDebug(QInstaller::lcInstallerUninstallLog) << "Uninstallation aborted.";
+ return false;
+ }
setCompleteUninstallation(true);
return run();
}