diff options
author | Katja Marttila <katja.marttila@qt.io> | 2019-02-04 10:39:56 +0200 |
---|---|---|
committer | Katja Marttila <katja.marttila@qt.io> | 2019-02-04 09:07:04 +0000 |
commit | 2a791f276dadc75afb39e4d3d44ca056c1912447 (patch) | |
tree | 05d47a74adf1eab96bf8221a8bdbb3961511e947 /src | |
parent | f229bc434329debf6467cb432571bf3a3d44f8fe (diff) |
Add tooltip for categories
Change-Id: I852a236bc2cff0d532a825581e3da4dcdcbbab90
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/libs/installer/componentselectionpage_p.cpp | 1 | ||||
-rw-r--r-- | src/libs/installer/repositorycategory.cpp | 13 | ||||
-rw-r--r-- | src/libs/installer/repositorycategory.h | 4 | ||||
-rw-r--r-- | src/libs/installer/settings.cpp | 10 |
4 files changed, 25 insertions, 3 deletions
diff --git a/src/libs/installer/componentselectionpage_p.cpp b/src/libs/installer/componentselectionpage_p.cpp index 8d023a501..4e7acc837 100644 --- a/src/libs/installer/componentselectionpage_p.cpp +++ b/src/libs/installer/componentselectionpage_p.cpp @@ -205,6 +205,7 @@ void ComponentSelectionPagePrivate::setupCategoryLayout() connect(checkBox, &QCheckBox::stateChanged, this, &ComponentSelectionPagePrivate::checkboxStateChanged); checkBox->setText(repository.displayname()); + checkBox->setToolTip(repository.tooltip()); categoryLayout->addWidget(checkBox); } diff --git a/src/libs/installer/repositorycategory.cpp b/src/libs/installer/repositorycategory.cpp index af7f6e818..42fb41c99 100644 --- a/src/libs/installer/repositorycategory.cpp +++ b/src/libs/installer/repositorycategory.cpp @@ -58,7 +58,8 @@ RepositoryCategory::RepositoryCategory() Constructs a new category by using all fields of the given category \a other. */ RepositoryCategory::RepositoryCategory(const RepositoryCategory &other) - : m_displayname(other.m_displayname), m_data(other.m_data), m_enabled(other.m_enabled) + : m_displayname(other.m_displayname), m_data(other.m_data), m_enabled(other.m_enabled), + m_tooltip(other.m_tooltip) { registerMetaType(); } @@ -86,6 +87,16 @@ void RepositoryCategory::setDisplayName(const QString &displayname) m_displayname = displayname; } +QString RepositoryCategory::tooltip() const +{ + return m_tooltip; +} + +void RepositoryCategory::setTooltip(const QString &tooltip) +{ + m_tooltip = tooltip; +} + /*! Returns the list of repositories the category has. */ diff --git a/src/libs/installer/repositorycategory.h b/src/libs/installer/repositorycategory.h index 315af761b..98d5df7bd 100644 --- a/src/libs/installer/repositorycategory.h +++ b/src/libs/installer/repositorycategory.h @@ -50,6 +50,9 @@ public: QString displayname() const; void setDisplayName(const QString &displayname); + QString tooltip() const; + void setTooltip(const QString &tooltip); + QSet<Repository> repositories() const; void setRepositories(const QSet<Repository> repositories); void addRepository(const Repository repository); @@ -68,6 +71,7 @@ public: private: QVariantHash m_data; QString m_displayname; + QString m_tooltip; bool m_enabled; }; diff --git a/src/libs/installer/settings.cpp b/src/libs/installer/settings.cpp index e1e4f0c13..13eb2ce40 100644 --- a/src/libs/installer/settings.cpp +++ b/src/libs/installer/settings.cpp @@ -136,7 +136,8 @@ static QStringList readArgumentAttributes(QXmlStreamReader &reader, Settings::Pa } static QSet<Repository> readRepositories(QXmlStreamReader &reader, bool isDefault, Settings::ParseMode parseMode, - QString *displayName = nullptr, bool *preselected = nullptr) + QString *displayName = nullptr, bool *preselected = nullptr, + QString *tooltip = nullptr) { QSet<Repository> set; while (reader.readNextStartElement()) { @@ -169,6 +170,8 @@ static QSet<Repository> readRepositories(QXmlStreamReader &reader, bool isDefaul if (displayName && !displayName->isEmpty()) repo.setArchiveName(*displayName); set.insert(repo); + } else if (reader.name() == QLatin1String("Tooltip")) { + *tooltip = reader.readElementText(); } else if (reader.name() == QLatin1String("Preselected")) { *preselected = (reader.readElementText() == QLatin1String("true") ? true : false); } else { @@ -192,9 +195,12 @@ static QSet<RepositoryCategory> readRepositoryCategories(QXmlStreamReader &reade if (reader.name() == QLatin1String("RemoteRepositories")) { RepositoryCategory archiveRepo; QString displayName; + QString tooltip; bool preselected = false; - archiveRepo.setRepositories(readRepositories(reader, isDefault, parseMode, &displayName, &preselected)); + archiveRepo.setRepositories(readRepositories(reader, isDefault, parseMode, + &displayName, &preselected, &tooltip)); archiveRepo.setDisplayName(displayName); + archiveRepo.setTooltip(tooltip); archiveRepo.setEnabled(preselected); archiveSet.insert(archiveRepo); } else if (reader.name() == QLatin1String("RepositoryCategoryDisplayname")) { |