mirror of
https://github.com/QuasarApp/installer-framework.git
synced 2025-05-07 10:39:33 +00:00
Add tooltip for categories
Change-Id: I852a236bc2cff0d532a825581e3da4dcdcbbab90 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
This commit is contained in:
parent
f229bc4343
commit
2a791f276d
doc
examples/repositorycategories/config
src/libs/installer
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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.
|
||||
*/
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
|
@ -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")) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user