summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKatja Marttila <katja.marttila@qt.io>2019-01-16 14:34:30 +0200
committerKatja Marttila <katja.marttila@qt.io>2019-01-17 08:07:50 +0000
commitcd5168de39b0791bc2e62acc36aa6f77f75f3398 (patch)
tree755816952d6a554d051e0d5449a9e08f3f3face5 /src
parent4ca310dc295e310df67ddb46437315179017d714 (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.cpp1
-rw-r--r--src/libs/installer/settings.cpp10
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();