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 | |
parent | f229bc434329debf6467cb432571bf3a3d44f8fe (diff) |
Add tooltip for categories
Change-Id: I852a236bc2cff0d532a825581e3da4dcdcbbab90
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
-rw-r--r-- | doc/installerfw.qdoc | 3 | ||||
-rw-r--r-- | examples/repositorycategories/config/config.xml | 2 | ||||
-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 |
6 files changed, 29 insertions, 4 deletions
diff --git a/doc/installerfw.qdoc b/doc/installerfw.qdoc index 1ef42a91e..0589c8c14 100644 --- a/doc/installerfw.qdoc +++ b/doc/installerfw.qdoc @@ -1131,7 +1131,7 @@ The \c <RepositoryCategory> element in the installer configuration file (config.xml) can contain a list of several \c <RemoteRepositories> elements. Each \c <RemoteRepositories> element within the \c <RepositoryCagetory> element is considered a category. Each catecory can have - a \c <DisplayName>, a \c <Preselected> element and several \c <Repository> elements. + a \c <DisplayName>, a \c <Tooltip>, a \c <Preselected> element and several \c <Repository> elements. Repository categories are shown in the component selection page, on the left side of the component selection widget: @@ -1152,6 +1152,7 @@ <RemoteRepositories> <Displayname>Category 1</Displayname> <Preselected>true</Preselected> + <Tooltip>Tooltip for category 1</Tooltip> <Repository> <Url>http://www.example.com/packages</Url> <Enabled>1</Enabled> diff --git a/examples/repositorycategories/config/config.xml b/examples/repositorycategories/config/config.xml index a85910b87..8c5a0a67d 100644 --- a/examples/repositorycategories/config/config.xml +++ b/examples/repositorycategories/config/config.xml @@ -16,6 +16,7 @@ <RepositoryCategoryDisplayname>Releases</RepositoryCategoryDisplayname> <RemoteRepositories> <DisplayName>Category 1</DisplayName> + <Tooltip>Contains repository1 and repository2</Tooltip> <Repository> <Url>http://localhost/repository1</Url> </Repository> @@ -26,6 +27,7 @@ <RemoteRepositories> <Preselected>true</Preselected> <DisplayName>Category 2</DisplayName> + <Tooltip>Contains repository3</Tooltip> <Repository> <Url>http://localhost/repository3</Url> </Repository> 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")) { |