summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKatja Marttila <katja.marttila@qt.io>2018-06-19 13:52:24 +0300
committerKatja Marttila <katja.marttila@qt.io>2018-09-10 11:19:46 +0000
commit6c38a975eeb0ebe06e7146fed6cf4bcdf8499b6c (patch)
treed9a071990dc485cbb406fcdeb19e59c2d6e724c7
parent98e180cda5ccd5b2787845672f091b16d783bc26 (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.qdoc5
-rw-r--r--src/libs/installer/constants.h1
-rw-r--r--src/libs/installer/packagemanagercore_p.cpp6
-rw-r--r--src/libs/installer/settings.cpp15
-rw-r--r--src/libs/installer/settings.h3
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;