diff options
Diffstat (limited to 'src/libs/installer')
-rw-r--r-- | src/libs/installer/constants.h | 6 | ||||
-rw-r--r-- | src/libs/installer/packagemanagercoredata.cpp | 8 | ||||
-rw-r--r-- | src/libs/installer/packagemanagergui.cpp | 66 | ||||
-rw-r--r-- | src/libs/installer/packagemanagergui.h | 4 | ||||
-rw-r--r-- | src/libs/installer/settings.cpp | 5 |
5 files changed, 37 insertions, 52 deletions
diff --git a/src/libs/installer/constants.h b/src/libs/installer/constants.h index be42426fb..7ecdf2b89 100644 --- a/src/libs/installer/constants.h +++ b/src/libs/installer/constants.h @@ -100,7 +100,11 @@ static const QLatin1String scAllowUnstableComponents("AllowUnstableComponents"); static const QLatin1String scSaveDefaultRepositories("SaveDefaultRepositories"); static const QLatin1String scRepositoryCategoryDisplayName("RepositoryCategoryDisplayName"); static const QLatin1String scHighDpi("@2x."); - +static const QLatin1String scWatermark("Watermark"); +static const QLatin1String scBanner("Banner"); +static const QLatin1String scLogo("Logo"); +static const QLatin1String scBackground("Background"); +static const QLatin1String scPageListPixmap("PageListPixmap"); const char scRelocatable[] = "@RELOCATABLE_PATH@"; } diff --git a/src/libs/installer/packagemanagercoredata.cpp b/src/libs/installer/packagemanagercoredata.cpp index 14f9cff47..9f8ec7014 100644 --- a/src/libs/installer/packagemanagercoredata.cpp +++ b/src/libs/installer/packagemanagercoredata.cpp @@ -81,10 +81,10 @@ PackageManagerCoreData::PackageManagerCoreData(const QHash<QString, QString> &va m_variables.insert(QLatin1String("Url"), m_settings.url()); m_variables.insert(scStartMenuDir, m_settings.startMenuDir()); m_variables.insert(scTargetConfigurationFile, m_settings.configurationFileName()); - m_variables.insert(QLatin1String("LogoPixmap"), m_settings.logo()); - m_variables.insert(QLatin1String("WatermarkPixmap"), m_settings.watermark()); - m_variables.insert(QLatin1String("BannerPixmap"), m_settings.banner()); - m_variables.insert(QLatin1String("PageListPixmap"), m_settings.pageListPixmap()); + m_variables.insert(scLogo, m_settings.logo()); + m_variables.insert(scWatermark, m_settings.watermark()); + m_variables.insert(scBanner, m_settings.banner()); + m_variables.insert(scPageListPixmap, m_settings.pageListPixmap()); const QString description = m_settings.runProgramDescription(); if (!description.isEmpty()) diff --git a/src/libs/installer/packagemanagergui.cpp b/src/libs/installer/packagemanagergui.cpp index 4a454e781..277e1873a 100644 --- a/src/libs/installer/packagemanagergui.cpp +++ b/src/libs/installer/packagemanagergui.cpp @@ -300,8 +300,11 @@ PackageManagerGui::PackageManagerGui(PackageManagerCore *core, QWidget *parent) #ifndef Q_OS_MACOS setWindowIcon(QIcon(m_core->settings().installerWindowIcon())); #endif - if (!m_core->settings().wizardShowPageList()) - setPixmap(QWizard::BackgroundPixmap, m_core->settings().background()); + if (!m_core->settings().wizardShowPageList()) { + QString pixmapStr = m_core->settings().background(); + QInstaller::replaceHighDpiImage(pixmapStr); + setPixmap(QWizard::BackgroundPixmap, pixmapStr); + } #ifdef Q_OS_LINUX setWizardStyle(QWizard::ModernStyle); setSizeGripEnabled(true); @@ -347,8 +350,9 @@ PackageManagerGui::PackageManagerGui(PackageManagerCore *core, QWidget *parent) QVBoxLayout *sideWidgetLayout = new QVBoxLayout(sideWidget); - const QString pageListPixmap = m_core->settings().pageListPixmap(); + QString pageListPixmap = m_core->settings().pageListPixmap(); if (!pageListPixmap.isEmpty()) { + QInstaller::replaceHighDpiImage(pageListPixmap); QLabel *pageListPixmapLabel = new QLabel(sideWidget); pageListPixmapLabel->setObjectName(QLatin1String("PageListPixmapLabel")); pageListPixmapLabel->setPixmap(pageListPixmap); @@ -1188,10 +1192,10 @@ PackageManagerPage::PackageManagerPage(PackageManagerCore *core) m_titleColor = m_core->settings().titleColor(); if (!m_core->settings().wizardShowPageList()) - setPixmap(QWizard::WatermarkPixmap, watermarkPixmap()); + setPixmap(QWizard::WatermarkPixmap, wizardPixmap(scWatermark)); - setPixmap(QWizard::BannerPixmap, bannerPixmap()); - setPixmap(QWizard::LogoPixmap, logoPixmap()); + setPixmap(QWizard::BannerPixmap, wizardPixmap(scBanner)); + setPixmap(QWizard::LogoPixmap, wizardPixmap(scLogo)); // Can't use PackageManagerPage::gui() here as the page is not set yet if (PackageManagerGui *gui = qobject_cast<PackageManagerGui *>(core->guiObject())) { @@ -1209,42 +1213,26 @@ PackageManagerCore *PackageManagerPage::packageManagerCore() const } /*! - Returns the watermark pixmap specified in the \c <Watermark> element of the package information - file. + Returns the pixmap specified by \a pixmapType. \a pixmapType can be \c <Banner>, + \c <Logo> or \c <Watermark> element of the package information file. If @2x image + is provided, returns that instead for high DPI displays. */ -QPixmap PackageManagerPage::watermarkPixmap() const +QPixmap PackageManagerPage::wizardPixmap(const QString &pixmapType) const { - return QPixmap(m_core->value(QLatin1String("WatermarkPixmap"))); -} - -/*! - Returns the banner pixmap specified in the \c <Banner> element of the package information file. - Only used by the modern UI style. -*/ -QPixmap PackageManagerPage::bannerPixmap() const -{ - QPixmap banner(m_core->value(QLatin1String("BannerPixmap"))); - - if (!banner.isNull()) { - int width; - if (m_core->settings().containsValue(QLatin1String("WizardDefaultWidth")) ) - width = m_core->settings().wizardDefaultWidth(); - else - width = size().width(); - banner = banner.scaledToWidth(width, Qt::SmoothTransformation); + QString pixmapStr = m_core->value(pixmapType); + QInstaller::replaceHighDpiImage(pixmapStr); + QPixmap pixmap(pixmapStr); + if (pixmapType == scBanner) { + if (!pixmap.isNull()) { + int width; + if (m_core->settings().containsValue(QLatin1String("WizardDefaultWidth")) ) + width = m_core->settings().wizardDefaultWidth(); + else + width = size().width(); + pixmap = pixmap.scaledToWidth(width, Qt::SmoothTransformation); + } } - return banner; -} - -/*! - Returns the logo pixmap specified in the \c <Logo> element of the package information file. - If @2x image is provided, returns that instead for high DPI displays. -*/ -QPixmap PackageManagerPage::logoPixmap() const -{ - QString logoPixmap = m_core->value(QLatin1String("LogoPixmap")); - QInstaller::replaceHighDpiImage(logoPixmap); - return QPixmap(logoPixmap); + return pixmap; } /*! diff --git a/src/libs/installer/packagemanagergui.h b/src/libs/installer/packagemanagergui.h index 9cb5ea316..9013c6fe8 100644 --- a/src/libs/installer/packagemanagergui.h +++ b/src/libs/installer/packagemanagergui.h @@ -152,10 +152,8 @@ public: explicit PackageManagerPage(PackageManagerCore *core); virtual ~PackageManagerPage() {} - virtual QPixmap logoPixmap() const; virtual QString productName() const; - virtual QPixmap watermarkPixmap() const; - virtual QPixmap bannerPixmap() const; + virtual QPixmap wizardPixmap(const QString &pixmapType) const; void setColoredTitle(const QString &title); void setColoredSubTitle(const QString &subTitle); diff --git a/src/libs/installer/settings.cpp b/src/libs/installer/settings.cpp index 8b921213b..5d8bde36a 100644 --- a/src/libs/installer/settings.cpp +++ b/src/libs/installer/settings.cpp @@ -59,13 +59,8 @@ using namespace QInstaller; static const QLatin1String scInstallerApplicationIcon("InstallerApplicationIcon"); static const QLatin1String scInstallerWindowIcon("InstallerWindowIcon"); -static const QLatin1String scLogo("Logo"); static const QLatin1String scPrefix("Prefix"); -static const QLatin1String scWatermark("Watermark"); -static const QLatin1String scBanner("Banner"); static const QLatin1String scProductUrl("ProductUrl"); -static const QLatin1String scBackground("Background"); -static const QLatin1String scPageListPixmap("PageListPixmap"); static const QLatin1String scAdminTargetDir("AdminTargetDir"); static const QLatin1String scMaintenanceToolName("MaintenanceToolName"); static const QLatin1String scUserRepositories("UserRepositories"); |