summaryrefslogtreecommitdiffstats
path: root/installerbuilder/libinstaller/updatesettings.cpp
diff options
context:
space:
mode:
authorkh1 <karsten.heimrich@nokia.com>2011-11-15 12:37:01 +0100
committerKarsten Heimrich <karsten.heimrich@nokia.com>2011-11-15 14:54:00 +0100
commitd48cb97ba1b1179ce314d6ab190a7379f802465a (patch)
tree21ed68e872ef7f1eef8fad1d276786af8ac50348 /installerbuilder/libinstaller/updatesettings.cpp
parent2023eb987e50bdf751c444c3a86e36aad72efc5d (diff)
Use QSet throughout the whole code, saves us QList conversions.
Remove default parameter from Repo ctor, lead already to confusion. Also add some more specific {get/set} repo functions, to be able to distinguish between the different kind of repositories (needed for setting dialog). Change-Id: I2c1e4d5377799f54e408a89785bdc5f01619f846 Reviewed-by: Tim Jenssen <tim.jenssen@nokia.com> Reviewed-by: Alexander Lenhardt <alexander.lenhardt@nokia.com>
Diffstat (limited to 'installerbuilder/libinstaller/updatesettings.cpp')
-rw-r--r--installerbuilder/libinstaller/updatesettings.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/installerbuilder/libinstaller/updatesettings.cpp b/installerbuilder/libinstaller/updatesettings.cpp
index 6f52cdd2c..0347beb1d 100644
--- a/installerbuilder/libinstaller/updatesettings.cpp
+++ b/installerbuilder/libinstaller/updatesettings.cpp
@@ -135,22 +135,22 @@ void UpdateSettings::setCheckOnlyImportantUpdates(bool checkOnlyImportantUpdates
d->settings().setValue(QLatin1String("updatesettings/onlyimportant"), checkOnlyImportantUpdates);
}
-QList<Repository> UpdateSettings::repositories() const
+QSet<Repository> UpdateSettings::repositories() const
{
QSettings &settings = *(const_cast<QSettings*> (&d->settings()));
const int count = settings.beginReadArray(QLatin1String("updatesettings/repositories"));
- QList<Repository> result;
+ QSet<Repository> result;
for (int i = 0; i < count; ++i) {
settings.setArrayIndex(i);
- result.append(Repository(d->settings().value(QLatin1String("url")).toUrl()));
+ result.insert(Repository(d->settings().value(QLatin1String("url")).toUrl(), false));
}
settings.endArray();
try {
if(result.isEmpty()) {
result = Settings::fromFileAndPrefix(QLatin1String(":/metadata/installer-config/config.xml"),
- QLatin1String(":/metadata/installer-config/")).repositories();
+ QLatin1String(":/metadata/installer-config/")).userRepositories();
}
} catch (const Error &error) {
qDebug("Could not parse config: %s", qPrintable(error.message()));
@@ -158,12 +158,13 @@ QList<Repository> UpdateSettings::repositories() const
return result;
}
-void UpdateSettings::setRepositories(const QList<Repository> &repositories)
+void UpdateSettings::setRepositories(const QSet<Repository> &repositories)
{
+ QSet<Repository>::ConstIterator it = repositories.constBegin();
d->settings().beginWriteArray(QLatin1String("updatesettings/repositories"));
- for (int i = 0; i < repositories.count(); ++i) {
+ for (int i = 0; i < repositories.count(); ++i, ++it) {
d->settings().setArrayIndex(i);
- d->settings().setValue(QLatin1String("url"), repositories.at(i).url());
+ d->settings().setValue(QLatin1String("url"), (*it).url());
}
d->settings().endArray();
}