diff options
author | Katja Marttila <katja.marttila@qt.io> | 2018-06-19 13:52:24 +0300 |
---|---|---|
committer | Katja Marttila <katja.marttila@qt.io> | 2018-09-10 11:19:46 +0000 |
commit | 6c38a975eeb0ebe06e7146fed6cf4bcdf8499b6c (patch) | |
tree | d9a071990dc485cbb406fcdeb19e59c2d6e724c7 | |
parent | 98e180cda5ccd5b2787845672f091b16d783bc26 (diff) |
Add property to disable default repository saving
By default, all default repositories defined in <RemoteRepositories> are
saved to maintenancetool.ini -file. When you start maintenancetool, the
repositories are read from maintenancetool.ini and those are used. There
are cases when we don't want to use the default repositories when
running maintenancetol.
Change-Id: I4507e16636f2d709aa099eaa865264800591ce0d
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
-rw-r--r-- | doc/installerfw.qdoc | 5 | ||||
-rw-r--r-- | src/libs/installer/constants.h | 1 | ||||
-rw-r--r-- | src/libs/installer/packagemanagercore_p.cpp | 6 | ||||
-rw-r--r-- | src/libs/installer/settings.cpp | 15 | ||||
-rw-r--r-- | src/libs/installer/settings.h | 3 |
5 files changed, 27 insertions, 3 deletions
diff --git a/doc/installerfw.qdoc b/doc/installerfw.qdoc index 669fc66f4..22a15983b 100644 --- a/doc/installerfw.qdoc +++ b/doc/installerfw.qdoc @@ -324,6 +324,11 @@ \row \li SupportsModify \li Set to \c false if the product does not support modifying an existing installation. + \row + \li SaveDefaultRepositories + \li Set to \c false if default repositories \c <RemoteRepositories> should not be saved to \e {MaintenanceToolName}.ini. + By default default repositories are saved. Not saving the repositories means than when you run \e maintenancetool + there are no default repositories in use. \endtable diff --git a/src/libs/installer/constants.h b/src/libs/installer/constants.h index ddfa8c555..0e9646737 100644 --- a/src/libs/installer/constants.h +++ b/src/libs/installer/constants.h @@ -90,6 +90,7 @@ static const QLatin1String scProductUUID("ProductUUID"); static const QLatin1String scAllUsers("AllUsers"); static const QLatin1String scSupportsModify("SupportsModify"); static const QLatin1String scAllowUnstableComponents("AllowUnstableComponents"); +static const QLatin1String scSaveDefaultRepositories("SaveDefaultRepositories"); const char scRelocatable[] = "@RELOCATABLE_PATH@"; diff --git a/src/libs/installer/packagemanagercore_p.cpp b/src/libs/installer/packagemanagercore_p.cpp index 62056d906..195c16f30 100644 --- a/src/libs/installer/packagemanagercore_p.cpp +++ b/src/libs/installer/packagemanagercore_p.cpp @@ -761,8 +761,10 @@ void PackageManagerCorePrivate::writeMaintenanceConfigFiles() cfg.setValue(QLatin1String("Variables"), variables); QVariantList repos; // Do not change either! - foreach (const Repository &repo, m_data.settings().defaultRepositories()) - repos.append(QVariant().fromValue(repo)); + if (m_data.settings().saveDefaultRepositories()) { + foreach (const Repository &repo, m_data.settings().defaultRepositories()) + repos.append(QVariant().fromValue(repo)); + } cfg.setValue(QLatin1String("DefaultRepositories"), repos); cfg.setValue(QLatin1String("FilesForDelayedDeletion"), m_filesForDelayedDeletion); diff --git a/src/libs/installer/settings.cpp b/src/libs/installer/settings.cpp index 3d5d4b858..5761387c6 100644 --- a/src/libs/installer/settings.cpp +++ b/src/libs/installer/settings.cpp @@ -256,7 +256,8 @@ Settings Settings::fromFileAndPrefix(const QString &path, const QString &prefix, << scWizardDefaultWidth << scWizardDefaultHeight << scRepositorySettingsPageVisible << scTargetConfigurationFile << scRemoteRepositories << scTranslations << scUrlQueryString << QLatin1String(scControlScript) - << scCreateLocalRepository << scInstallActionColumnVisible << scSupportsModify << scAllowUnstableComponents; + << scCreateLocalRepository << scInstallActionColumnVisible << scSupportsModify << scAllowUnstableComponents + << scSaveDefaultRepositories; Settings s; s.d->m_data.insert(scPrefix, prefix); @@ -327,6 +328,8 @@ Settings Settings::fromFileAndPrefix(const QString &path, const QString &prefix, s.d->m_data.insert(scInstallActionColumnVisible, false); if (!s.d->m_data.contains(scAllowUnstableComponents)) s.d->m_data.insert(scAllowUnstableComponents, false); + if (!s.d->m_data.contains(scSaveDefaultRepositories)) + s.d->m_data.insert(scSaveDefaultRepositories, true); return s; } @@ -754,3 +757,13 @@ void Settings::setAllowUnstableComponents(bool allow) { d->m_data.insert(scAllowUnstableComponents, allow); } + +bool Settings::saveDefaultRepositories() const +{ + return d->m_data.value(scSaveDefaultRepositories, true).toBool(); +} + +void Settings::setSaveDefaultRepositories(bool save) +{ + d->m_data.insert(scSaveDefaultRepositories, save); +} diff --git a/src/libs/installer/settings.h b/src/libs/installer/settings.h index 45c4fbcc3..bc2db655b 100644 --- a/src/libs/installer/settings.h +++ b/src/libs/installer/settings.h @@ -157,6 +157,9 @@ public: bool allowUnstableComponents() const; void setAllowUnstableComponents(bool allow); + bool saveDefaultRepositories() const; + void setSaveDefaultRepositories(bool save); + private: class Private; QSharedDataPointer<Private> d; |