From f2ab63396c1f101216b2c6ade37528492e464785 Mon Sep 17 00:00:00 2001 From: Arttu Tarkiainen Date: Tue, 9 Jun 2020 10:52:51 +0300 Subject: 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 --- src/libs/installer/packagemanagercore.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/libs/installer/packagemanagercore.cpp') 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 @@ -684,6 +684,14 @@ QHash PackageManagerCore::fileDialogAutomaticAnswers() const return m_fileDialogAutomaticAnswers; } +/*! + 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. */ @@ -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(); } -- cgit v1.2.3