mirror of
https://github.com/QuasarApp/installer-framework.git
synced 2025-04-28 14:34:36 +00:00
Organize categories alphabetically to ComponentSelectionPage
Task-number: QTIFW-1264 Change-Id: I14a54082c30107d9242632a69d73a637803c6f2d Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
This commit is contained in:
parent
2f30ae55a1
commit
2f55dced31
@ -198,7 +198,7 @@ void ComponentSelectionPagePrivate::setupCategoryLayout()
|
|||||||
connect(fetchCategoryButton, &QPushButton::clicked, this,
|
connect(fetchCategoryButton, &QPushButton::clicked, this,
|
||||||
&ComponentSelectionPagePrivate::fetchRepositoryCategories);
|
&ComponentSelectionPagePrivate::fetchRepositoryCategories);
|
||||||
|
|
||||||
foreach (RepositoryCategory repository, m_core->settings().repositoryCategories()) {
|
foreach (RepositoryCategory repository, m_core->settings().organizedRepositoryCategories()) {
|
||||||
QCheckBox *checkBox = new QCheckBox;
|
QCheckBox *checkBox = new QCheckBox;
|
||||||
checkBox->setObjectName(repository.displayname());
|
checkBox->setObjectName(repository.displayname());
|
||||||
connect(checkBox, &QCheckBox::stateChanged, this,
|
connect(checkBox, &QCheckBox::stateChanged, this,
|
||||||
@ -324,8 +324,17 @@ void ComponentSelectionPagePrivate::checkboxStateChanged()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ComponentSelectionPagePrivate::enableRepositoryCategory(int index, bool enable) {
|
void ComponentSelectionPagePrivate::enableRepositoryCategory(const QString &repositoryName, bool enable)
|
||||||
RepositoryCategory repoCategory = m_core->settings().repositoryCategories().toList().at(index);
|
{
|
||||||
|
QMap<QString, RepositoryCategory> organizedRepositoryCategories = m_core->settings().organizedRepositoryCategories();
|
||||||
|
|
||||||
|
QMap<QString, RepositoryCategory>::iterator i = organizedRepositoryCategories.find(repositoryName);
|
||||||
|
RepositoryCategory repoCategory;
|
||||||
|
while (i != organizedRepositoryCategories.end() && i.key() == repositoryName) {
|
||||||
|
repoCategory = i.value();
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
|
||||||
RepositoryCategory replacement = repoCategory;
|
RepositoryCategory replacement = repoCategory;
|
||||||
replacement.setEnabled(enable);
|
replacement.setEnabled(enable);
|
||||||
QSet<RepositoryCategory> tmpRepoCategories = m_core->settings().repositoryCategories();
|
QSet<RepositoryCategory> tmpRepoCategories = m_core->settings().repositoryCategories();
|
||||||
@ -374,7 +383,7 @@ void ComponentSelectionPagePrivate::fetchRepositoryCategories()
|
|||||||
QList<QCheckBox*> checkboxes = m_categoryGroupBox->findChildren<QCheckBox *>();
|
QList<QCheckBox*> checkboxes = m_categoryGroupBox->findChildren<QCheckBox *>();
|
||||||
for (int i = 0; i < checkboxes.count(); i++) {
|
for (int i = 0; i < checkboxes.count(); i++) {
|
||||||
checkbox = checkboxes.at(i);
|
checkbox = checkboxes.at(i);
|
||||||
enableRepositoryCategory(i, checkbox->isChecked());
|
enableRepositoryCategory(checkbox->objectName(), checkbox->isChecked());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!m_core->fetchRemotePackagesTree()) {
|
if (!m_core->fetchRemotePackagesTree()) {
|
||||||
|
@ -72,7 +72,7 @@ public slots:
|
|||||||
void selectAll();
|
void selectAll();
|
||||||
void deselectAll();
|
void deselectAll();
|
||||||
void checkboxStateChanged();
|
void checkboxStateChanged();
|
||||||
void enableRepositoryCategory(int index, bool enable);
|
void enableRepositoryCategory(const QString &repositoryName, bool enable);
|
||||||
void updateWidgetVisibility(bool show);
|
void updateWidgetVisibility(bool show);
|
||||||
void fetchRepositoryCategories();
|
void fetchRepositoryCategories();
|
||||||
void customButtonClicked(int which);
|
void customButtonClicked(int which);
|
||||||
|
@ -584,6 +584,16 @@ QSet<RepositoryCategory> Settings::repositoryCategories() const
|
|||||||
return variantListToSet<RepositoryCategory>(d->m_data.values(scRepositoryCategories));
|
return variantListToSet<RepositoryCategory>(d->m_data.values(scRepositoryCategories));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QMap<QString, RepositoryCategory> Settings::organizedRepositoryCategories() const
|
||||||
|
{
|
||||||
|
QSet<RepositoryCategory> categories = repositoryCategories();
|
||||||
|
QMap<QString, RepositoryCategory> map;
|
||||||
|
foreach (const RepositoryCategory &category, categories) {
|
||||||
|
map.insert(category.displayname(), category);
|
||||||
|
}
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
void Settings::setDefaultRepositories(const QSet<Repository> &repositories)
|
void Settings::setDefaultRepositories(const QSet<Repository> &repositories)
|
||||||
{
|
{
|
||||||
d->m_data.remove(scRepositories);
|
d->m_data.remove(scRepositories);
|
||||||
|
@ -116,6 +116,7 @@ public:
|
|||||||
|
|
||||||
QSet<Repository> defaultRepositories() const;
|
QSet<Repository> defaultRepositories() const;
|
||||||
QSet<RepositoryCategory> repositoryCategories() const;
|
QSet<RepositoryCategory> repositoryCategories() const;
|
||||||
|
QMap<QString, RepositoryCategory> organizedRepositoryCategories() const;
|
||||||
void setDefaultRepositories(const QSet<Repository> &repositories);
|
void setDefaultRepositories(const QSet<Repository> &repositories);
|
||||||
void addDefaultRepositories(const QSet<Repository> &repositories);
|
void addDefaultRepositories(const QSet<Repository> &repositories);
|
||||||
void addRepositoryCategories(const QSet<RepositoryCategory> &repositories);
|
void addRepositoryCategories(const QSet<RepositoryCategory> &repositories);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user