From f3e46570a6b6483de1170a429f68b9a8a66aef4e Mon Sep 17 00:00:00 2001 From: Katja Marttila Date: Mon, 23 Nov 2015 14:03:05 +0200 Subject: Fix setValue saving in restart When running maintenancetool and installing a component that sets a value in installscript with setValue, the value is cleared when pressing 'Restart'. Task-number:QTIFW-504 Change-Id: Ie588b6f1011d7b50b771ea8ee0dea99350f65878 Reviewed-by: Kai Koehne Reviewed-by: Niels Weber Reviewed-by: Iikka Eklund --- src/sdk/installerbase.cpp | 10 +++++++--- src/sdk/tabcontroller.cpp | 5 +++++ src/sdk/tabcontroller.h | 1 + 3 files changed, 13 insertions(+), 3 deletions(-) (limited to 'src/sdk') diff --git a/src/sdk/installerbase.cpp b/src/sdk/installerbase.cpp index 37675e1b7..27402ffed 100644 --- a/src/sdk/installerbase.cpp +++ b/src/sdk/installerbase.cpp @@ -267,11 +267,15 @@ int InstallerBase::run() controller.setManagerParams(params); controller.setControlScript(controlScript); - if (m_core->isInstaller()) + if (m_core->isInstaller()) { controller.setGui(new InstallerGui(m_core)); - else + } + else { controller.setGui(new MaintenanceGui(m_core)); - + //Start listening to setValue changes that newly installed components might have + connect(m_core, &QInstaller::PackageManagerCore::valueChanged, &controller, + &TabController::updateManagerParams); + } QInstaller::PackageManagerCore::Status status = QInstaller::PackageManagerCore::Status(controller.init()); if (status != QInstaller::PackageManagerCore::Success) diff --git a/src/sdk/tabcontroller.cpp b/src/sdk/tabcontroller.cpp index a9f283202..e3a53f422 100644 --- a/src/sdk/tabcontroller.cpp +++ b/src/sdk/tabcontroller.cpp @@ -204,3 +204,8 @@ void TabController::onNetworkSettingsChanged(const QInstaller::Settings &setting d->m_settings = settings; d->m_networkSettingsChanged = true; } + +void TabController::updateManagerParams(const QString &key, const QString &value) +{ + d->m_params.insert(key, value); +} diff --git a/src/sdk/tabcontroller.h b/src/sdk/tabcontroller.h index 98ea9abd6..5618d15ae 100644 --- a/src/sdk/tabcontroller.h +++ b/src/sdk/tabcontroller.h @@ -62,6 +62,7 @@ public: public Q_SLOTS: int init(); + void updateManagerParams(const QString &key, const QString &value); private Q_SLOTS: void restartWizard(); -- cgit v1.2.3