From bd10266110689199ad86d9d314b342f836c5cade Mon Sep 17 00:00:00 2001 From: Katja Marttila Date: Tue, 15 Jun 2021 12:31:29 +0300 Subject: Load control script also when using CLI Task-number: QTIFW-2268 Change-Id: I61e5f7963a55dcdc25aff171523fe078af309785 Reviewed-by: Arttu Tarkiainen --- src/sdk/commandlineinterface.cpp | 7 +++++++ src/sdk/installerbase.cpp | 13 +------------ src/sdk/sdkapp.h | 16 ++++++++++++++++ 3 files changed, 24 insertions(+), 12 deletions(-) (limited to 'src/sdk') diff --git a/src/sdk/commandlineinterface.cpp b/src/sdk/commandlineinterface.cpp index 69aa36c43..165a86c83 100644 --- a/src/sdk/commandlineinterface.cpp +++ b/src/sdk/commandlineinterface.cpp @@ -78,6 +78,13 @@ bool CommandLineInterface::initialize() // quite safe to assume that command is the first positional argument. m_positionalArguments.removeFirst(); } + + QString ctrlScript = controlScript(); + if (!ctrlScript.isEmpty()) { + m_core->controlScriptEngine()->loadInContext( + QLatin1String("Controller"), ctrlScript); + qCDebug(QInstaller::lcInstallerInstallLog) << "Loaded control script" << ctrlScript; + } return true; } diff --git a/src/sdk/installerbase.cpp b/src/sdk/installerbase.cpp index 821eb907b..78da6fb3a 100644 --- a/src/sdk/installerbase.cpp +++ b/src/sdk/installerbase.cpp @@ -71,18 +71,7 @@ int InstallerBase::run() f.setItalic(true); QInstaller::PackageManagerCore::setVirtualComponentsFont(f); } - QString controlScript; - if (m_parser.isSet(CommandLineOptions::scScriptLong)) { - controlScript = m_parser.value(CommandLineOptions::scScriptLong); - if (!QFileInfo(controlScript).exists()) { - qCDebug(QInstaller::lcInstallerInstallLog) << "Script file does not exist."; - return false; - } - } else if (!m_core->settings().controlScript().isEmpty()) { - controlScript = QLatin1String(":/metadata/installer-config/") - + m_core->settings().controlScript(); - } qCDebug(QInstaller::lcInstallerInstallLog) << "Language:" << QLocale().uiLanguages() .value(0, QLatin1String("No UI language set")).toUtf8().constData(); #ifndef IFW_DISABLE_TRANSLATIONS @@ -140,7 +129,7 @@ int InstallerBase::run() //create the wizard GUI TabController controller(nullptr); controller.setManager(m_core); - controller.setControlScript(controlScript); + controller.setControlScript(controlScript()); if (m_core->isInstaller()) controller.setGui(new InstallerGui(m_core)); else diff --git a/src/sdk/sdkapp.h b/src/sdk/sdkapp.h index 0c6c362bc..7778effbc 100644 --- a/src/sdk/sdkapp.h +++ b/src/sdk/sdkapp.h @@ -47,6 +47,7 @@ #include #include #include +#include #include #include @@ -492,6 +493,21 @@ public: } } + QString controlScript() + { + QString controlScript = QString(); + if (m_parser.isSet(CommandLineOptions::scScriptLong)) { + controlScript = m_parser.value(CommandLineOptions::scScriptLong); + if (!QFileInfo(controlScript).exists()) + qCDebug(QInstaller::lcInstallerInstallLog) << "Script file does not exist."; + + } else if (!m_core->settings().controlScript().isEmpty()) { + controlScript = QLatin1String(":/metadata/installer-config/") + + m_core->settings().controlScript(); + } + return controlScript; + } + private: QList m_resourceMappings; -- cgit v1.2.3