diff options
author | Katja Marttila <katja.marttila@qt.io> | 2019-01-16 14:34:30 +0200 |
---|---|---|
committer | Katja Marttila <katja.marttila@qt.io> | 2019-01-17 08:07:50 +0000 |
commit | cd5168de39b0791bc2e62acc36aa6f77f75f3398 (patch) | |
tree | 755816952d6a554d051e0d5449a9e08f3f3face5 /src | |
parent | 4ca310dc295e310df67ddb46437315179017d714 (diff) |
Add possibility to preselect categories in config.xml
Change-Id: I280247cb5155622ade604074c5a71a276b0fb629
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/libs/installer/componentselectionpage_p.cpp | 1 | ||||
-rw-r--r-- | src/libs/installer/settings.cpp | 10 |
2 files changed, 8 insertions, 3 deletions
diff --git a/src/libs/installer/componentselectionpage_p.cpp b/src/libs/installer/componentselectionpage_p.cpp index 1acc2ceb5..bfe196ca3 100644 --- a/src/libs/installer/componentselectionpage_p.cpp +++ b/src/libs/installer/componentselectionpage_p.cpp @@ -201,6 +201,7 @@ void ComponentSelectionPagePrivate::setupCategoryLayout() foreach (RepositoryCategory repository, m_core->settings().organizedRepositoryCategories()) { QCheckBox *checkBox = new QCheckBox; checkBox->setObjectName(repository.displayname()); + checkBox->setChecked(repository.isEnabled()); connect(checkBox, &QCheckBox::stateChanged, this, &ComponentSelectionPagePrivate::checkboxStateChanged); checkBox->setText(repository.displayname()); diff --git a/src/libs/installer/settings.cpp b/src/libs/installer/settings.cpp index 2a10d1a8b..96063455b 100644 --- a/src/libs/installer/settings.cpp +++ b/src/libs/installer/settings.cpp @@ -135,9 +135,9 @@ static QStringList readArgumentAttributes(QXmlStreamReader &reader, Settings::Pa return arguments; } -static QSet<Repository> readRepositories(QXmlStreamReader &reader, bool isDefault, Settings::ParseMode parseMode, QString *displayName = nullptr) +static QSet<Repository> readRepositories(QXmlStreamReader &reader, bool isDefault, Settings::ParseMode parseMode, + QString *displayName = nullptr, bool *preselected = false) { - qDebug()<<__FUNCTION__; QSet<Repository> set; while (reader.readNextStartElement()) { if (reader.name() == QLatin1String("DisplayName")) { @@ -169,6 +169,8 @@ static QSet<Repository> readRepositories(QXmlStreamReader &reader, bool isDefaul if (displayName && !displayName->isEmpty()) repo.setArchiveName(*displayName); set.insert(repo); + } else if (reader.name() == QLatin1String("Preselected")) { + *preselected = (reader.readElementText() == QLatin1String("true") ? true : false); } else { raiseError(reader, QString::fromLatin1("Unexpected element \"%1\".").arg(reader.name().toString()), parseMode); @@ -190,8 +192,10 @@ static QSet<RepositoryCategory> readRepositoryCategories(QXmlStreamReader &reade if (reader.name() == QLatin1String("RemoteRepositories")) { RepositoryCategory archiveRepo; QString displayName; - archiveRepo.setRepositories(readRepositories(reader, isDefault, parseMode, &displayName)); + bool preselected = false; + archiveRepo.setRepositories(readRepositories(reader, isDefault, parseMode, &displayName, &preselected)); archiveRepo.setDisplayName(displayName); + archiveRepo.setEnabled(preselected); archiveSet.insert(archiveRepo); } else if (reader.name() == QLatin1String("RepositoryCategoryDisplayname")) { *repositoryCategoryName = reader.readElementText(); |