summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKatja Marttila <katja.marttila@qt.io>2019-02-04 10:39:56 +0200
committerKatja Marttila <katja.marttila@qt.io>2019-02-04 09:07:04 +0000
commit2a791f276dadc75afb39e4d3d44ca056c1912447 (patch)
tree05d47a74adf1eab96bf8221a8bdbb3961511e947 /src
parentf229bc434329debf6467cb432571bf3a3d44f8fe (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.cpp1
-rw-r--r--src/libs/installer/repositorycategory.cpp13
-rw-r--r--src/libs/installer/repositorycategory.h4
-rw-r--r--src/libs/installer/settings.cpp10
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")) {