diff options
author | Katja Marttila <katja.marttila@qt.io> | 2021-06-15 12:31:29 +0300 |
---|---|---|
committer | Katja Marttila <katja.marttila@qt.io> | 2021-06-16 14:05:09 +0300 |
commit | bd10266110689199ad86d9d314b342f836c5cade (patch) | |
tree | 2935893eda3813da92a82409999fd6eb7ea2ca01 | |
parent | b43f06e569a983ae273560f769ec8e6893515750 (diff) |
Load control script also when using CLI
Task-number: QTIFW-2268
Change-Id: I61e5f7963a55dcdc25aff171523fe078af309785
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
-rw-r--r-- | src/sdk/commandlineinterface.cpp | 7 | ||||
-rw-r--r-- | src/sdk/installerbase.cpp | 13 | ||||
-rw-r--r-- | src/sdk/sdkapp.h | 16 |
3 files changed, 24 insertions, 12 deletions
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 <globals.h> #include <errors.h> #include <loggingutils.h> +#include <scriptengine.h> #include <QApplication> #include <QDir> @@ -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<QByteArray> m_resourceMappings; |