diff options
author | Katja Marttila <katja.marttila@qt.io> | 2021-10-26 08:50:07 +0300 |
---|---|---|
committer | Katja Marttila <katja.marttila@qt.io> | 2022-03-21 17:08:39 +0200 |
commit | 6ec6ac70d98195bb41a5ed60e47984bc640066fc (patch) | |
tree | 28e937e933a18479a9d114aa989d20d5083f7aaa /src/libs/installer/packagemanagergui.cpp | |
parent | a47cad8ed9e7e0c5ecd4a67c9603332d72228a7c (diff) |
Add click option for product image
Product image can now be clicked. It opens either url in Web browser or
if file reference is given, then it will be opened with the suitable
application.
Task-number: QTIFW-2361
Change-Id: I59ed1355e90c23c8d0a5124779725825ca1ee2c8
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
Diffstat (limited to 'src/libs/installer/packagemanagergui.cpp')
-rw-r--r-- | src/libs/installer/packagemanagergui.cpp | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/src/libs/installer/packagemanagergui.cpp b/src/libs/installer/packagemanagergui.cpp index fa46e4720..e49d45879 100644 --- a/src/libs/installer/packagemanagergui.cpp +++ b/src/libs/installer/packagemanagergui.cpp @@ -2698,7 +2698,7 @@ void ReadyForInstallationPage::updatePageListTitle() */ PerformInstallationPage::PerformInstallationPage(PackageManagerCore *core) : PackageManagerPage(core) - , m_performInstallationForm(new PerformInstallationForm(this)) + , m_performInstallationForm(new PerformInstallationForm(core, this)) { setPixmap(QWizard::WatermarkPixmap, QPixmap()); setObjectName(QLatin1String("PerformInstallationPage")); @@ -2836,17 +2836,26 @@ void PerformInstallationPage::setTitleMessage(const QString &title) */ void PerformInstallationPage::changeCurrentImage() { - const QStringList productImages = packageManagerCore()->settings().productImages(); + const QMap<QString, QVariant> productImages = packageManagerCore()->settings().productImages(); if (productImages.isEmpty()) return; - const QString nextImage = (m_currentImage.isEmpty() || m_currentImage == productImages.last()) - ? productImages.first() - : productImages.at(productImages.indexOf(m_currentImage) + 1); + QString nextImage; + QString nextUrl; + if (m_currentImage.isEmpty() || m_currentImage == productImages.lastKey()) { + nextImage = productImages.firstKey(); + nextUrl = productImages.value(nextImage).toString(); + } else { + QMap<QString, QVariant>::const_iterator i = productImages.constFind(m_currentImage); + if (++i != productImages.end()) { + nextImage = i.key(); + nextUrl = i.value().toString(); + } + } // Do not update the pixmap if there was only one image available if (nextImage != m_currentImage) { - m_performInstallationForm->setImageFromFileName(nextImage); + m_performInstallationForm->setImageFromFileName(nextImage, nextUrl); m_currentImage = nextImage; } } |