From 4eab0cc244066d884eef7b411d46a978efe13a38 Mon Sep 17 00:00:00 2001 From: Niels Weber Date: Tue, 19 Mar 2013 10:08:35 +0100 Subject: Add banner pixmap to the wizard. Change-Id: Ic786efe56f0d74740cf23fc5f9b691f88df59d35 Reviewed-by: Karsten Heimrich --- doc/installerfw.qdoc | 3 +++ src/libs/installer/packagemanagercoredata.cpp | 1 + src/libs/installer/packagemanagergui.cpp | 15 +++++++++++++++ src/libs/installer/packagemanagergui.h | 1 + src/libs/installer/settings.cpp | 8 +++++++- src/libs/installer/settings.h | 1 + tests/auto/installer/settings/data/full_config.xml | 1 + tests/auto/installer/settings/tst_settings.cpp | 1 + 8 files changed, 30 insertions(+), 1 deletion(-) diff --git a/doc/installerfw.qdoc b/doc/installerfw.qdoc index c89e3f92a..fb2015047 100644 --- a/doc/installerfw.qdoc +++ b/doc/installerfw.qdoc @@ -197,6 +197,9 @@ \row \o Watermark \o Filename for a watermark used as \a QWizard::WatermarkPixmap. + \row + \o Banner + \o Filename for a banner used as \a QWizard::BannerPixmap. \row \o Background \o Filename for an image used as \a QWizard::BackgroundPixmap. diff --git a/src/libs/installer/packagemanagercoredata.cpp b/src/libs/installer/packagemanagercoredata.cpp index 501a458d9..f383bd62f 100644 --- a/src/libs/installer/packagemanagercoredata.cpp +++ b/src/libs/installer/packagemanagercoredata.cpp @@ -90,6 +90,7 @@ PackageManagerCoreData::PackageManagerCoreData(const QHash &va 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()); const QString description = m_settings.runProgramDescription(); if (!description.isEmpty()) diff --git a/src/libs/installer/packagemanagergui.cpp b/src/libs/installer/packagemanagergui.cpp index f0e0ba13c..ae5b6c916 100644 --- a/src/libs/installer/packagemanagergui.cpp +++ b/src/libs/installer/packagemanagergui.cpp @@ -133,6 +133,7 @@ public: setObjectName(QLatin1String("Dynamic") + widget->objectName()); setPixmap(QWizard::LogoPixmap, logoPixmap()); setPixmap(QWizard::WatermarkPixmap, QPixmap()); + setPixmap(QWizard::BannerPixmap, QPixmap()); setLayout(new QVBoxLayout); setSubTitle(QString()); @@ -703,6 +704,11 @@ QPixmap PackageManagerPage::watermarkPixmap() const return QPixmap(m_core->value(QLatin1String("WatermarkPixmap"))); } +QPixmap PackageManagerPage::bannerPixmap() const +{ + return QPixmap(m_core->value(QLatin1String("BannerPixmap"))); +} + QPixmap PackageManagerPage::logoPixmap() const { return QPixmap(m_core->value(QLatin1String("LogoPixmap"))); @@ -817,6 +823,7 @@ IntroductionPage::IntroductionPage(PackageManagerCore *core) setObjectName(QLatin1String("IntroductionPage")); setPixmap(QWizard::WatermarkPixmap, watermarkPixmap()); setTitle(tr("Setup - %1").arg(productName())); + setPixmap(QWizard::BannerPixmap, bannerPixmap()); m_msgLabel = new QLabel(this); m_msgLabel->setWordWrap(true); @@ -879,6 +886,7 @@ LicenseAgreementPage::LicenseAgreementPage(PackageManagerCore *core) { setPixmap(QWizard::LogoPixmap, logoPixmap()); setPixmap(QWizard::WatermarkPixmap, QPixmap()); + setPixmap(QWizard::BannerPixmap, bannerPixmap()); setObjectName(QLatin1String("LicenseAgreementPage")); setTitle(tr("License Agreement")); @@ -1216,6 +1224,7 @@ ComponentSelectionPage::ComponentSelectionPage(PackageManagerCore *core) { setPixmap(QWizard::LogoPixmap, logoPixmap()); setPixmap(QWizard::WatermarkPixmap, QPixmap()); + setPixmap(QWizard::BannerPixmap, bannerPixmap()); setObjectName(QLatin1String("ComponentSelectionPage")); setTitle(tr("Select Components")); } @@ -1309,6 +1318,7 @@ TargetDirectoryPage::TargetDirectoryPage(PackageManagerCore *core) { setPixmap(QWizard::LogoPixmap, logoPixmap()); setPixmap(QWizard::WatermarkPixmap, QPixmap()); + setPixmap(QWizard::BannerPixmap, bannerPixmap()); setObjectName(QLatin1String("TargetDirectoryPage")); setTitle(tr("Installation Folder")); @@ -1429,6 +1439,7 @@ StartMenuDirectoryPage::StartMenuDirectoryPage(PackageManagerCore *core) { setPixmap(QWizard::LogoPixmap, logoPixmap()); setPixmap(QWizard::WatermarkPixmap, QPixmap()); + setPixmap(QWizard::BannerPixmap, bannerPixmap()); setObjectName(QLatin1String("StartMenuDirectoryPage")); setTitle(tr("Start Menu shortcuts")); setSubTitle(tr("Select the Start Menu in which you would like to create the program's shortcuts. You can " @@ -1519,6 +1530,7 @@ ReadyForInstallationPage::ReadyForInstallationPage(PackageManagerCore *core) { setPixmap(QWizard::LogoPixmap, logoPixmap()); setPixmap(QWizard::WatermarkPixmap, QPixmap()); + setPixmap(QWizard::BannerPixmap, bannerPixmap()); setObjectName(QLatin1String("ReadyForInstallationPage")); QVBoxLayout *baseLayout = new QVBoxLayout(); @@ -1748,6 +1760,7 @@ PerformInstallationPage::PerformInstallationPage(PackageManagerCore *core) { setPixmap(QWizard::LogoPixmap, logoPixmap()); setPixmap(QWizard::WatermarkPixmap, QPixmap()); + setPixmap(QWizard::BannerPixmap, bannerPixmap()); setObjectName(QLatin1String("PerformInstallationPage")); m_performInstallationForm->setupUi(this); @@ -1869,6 +1882,7 @@ FinishedPage::FinishedPage(PackageManagerCore *core) setObjectName(QLatin1String("FinishedPage")); setPixmap(QWizard::WatermarkPixmap, watermarkPixmap()); setTitle(tr("Completing the %1 Wizard").arg(productName())); + setPixmap(QWizard::BannerPixmap, bannerPixmap()); m_msgLabel = new QLabel(this); m_msgLabel->setWordWrap(true); @@ -1980,6 +1994,7 @@ RestartPage::RestartPage(PackageManagerCore *core) setObjectName(QLatin1String("RestartPage")); setPixmap(QWizard::WatermarkPixmap, watermarkPixmap()); setTitle(tr("Completing the %1 Setup Wizard").arg(productName())); + setPixmap(QWizard::BannerPixmap, bannerPixmap()); setFinalPage(false); setCommitPage(false); diff --git a/src/libs/installer/packagemanagergui.h b/src/libs/installer/packagemanagergui.h index 3cb1071bd..93ade1552 100644 --- a/src/libs/installer/packagemanagergui.h +++ b/src/libs/installer/packagemanagergui.h @@ -155,6 +155,7 @@ public: virtual QPixmap logoPixmap() const; virtual QString productName() const; virtual QPixmap watermarkPixmap() const; + virtual QPixmap bannerPixmap() const; virtual bool isComplete() const; void setComplete(bool complete); diff --git a/src/libs/installer/settings.cpp b/src/libs/installer/settings.cpp index 9fc31c3cb..602c6cc06 100644 --- a/src/libs/installer/settings.cpp +++ b/src/libs/installer/settings.cpp @@ -56,6 +56,7 @@ 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 scAdminTargetDir("AdminTargetDir"); @@ -182,7 +183,7 @@ Settings Settings::fromFileAndPrefix(const QString &path, const QString &prefix) elementList << scName << scVersion << scTitle << scPublisher << scProductUrl << scTargetDir << scAdminTargetDir << scIcon << scInstallerApplicationIcon << scInstallerWindowIcon - << scLogo << scWatermark << scBackground + << scLogo << scWatermark << scBanner << scBackground << scStartMenuDir << scUninstallerName << scUninstallerIniFile << scRemoveTargetDir << scRunProgram << scRunProgramArguments << scRunProgramDescription << scDependsOnLocalInstallerBinary @@ -282,6 +283,11 @@ QString Settings::watermark() const return d->makeAbsolutePath(d->m_data.value(scWatermark).toString()); } +QString Settings::banner() const +{ + return d->makeAbsolutePath(d->m_data.value(scBanner).toString()); +} + QString Settings::background() const { return d->makeAbsolutePath(d->m_data.value(scBackground).toString()); diff --git a/src/libs/installer/settings.h b/src/libs/installer/settings.h index 272c4ac07..79f70c3a3 100644 --- a/src/libs/installer/settings.h +++ b/src/libs/installer/settings.h @@ -87,6 +87,7 @@ public: QString publisher() const; QString url() const; QString watermark() const; + QString banner() const; QString background() const; QString icon() const; QString installerApplicationIcon() const; diff --git a/tests/auto/installer/settings/data/full_config.xml b/tests/auto/installer/settings/data/full_config.xml index 36309f609..4e1b82c8a 100644 --- a/tests/auto/installer/settings/data/full_config.xml +++ b/tests/auto/installer/settings/data/full_config.xml @@ -19,6 +19,7 @@ File should contain all elements we allow in a config.xml icon logo watermark + banner background Super App diff --git a/tests/auto/installer/settings/tst_settings.cpp b/tests/auto/installer/settings/tst_settings.cpp index 5d4cbd9b3..cf61e0c9d 100644 --- a/tests/auto/installer/settings/tst_settings.cpp +++ b/tests/auto/installer/settings/tst_settings.cpp @@ -37,6 +37,7 @@ void tst_Settings::loadTutorialConfig() QCOMPARE(settings.logo(), QLatin1String(":///data/")); QCOMPARE(settings.url(), QString()); QCOMPARE(settings.watermark(), QLatin1String(":///data/")); + QCOMPARE(settings.banner(), QLatin1String(":///data/")); QCOMPARE(settings.background(), QLatin1String(":///data/")); #if defined(Q_OS_WIN) QCOMPARE(settings.icon(), QLatin1String(":/installer.ico")); -- cgit v1.2.3