diff options
Diffstat (limited to 'src/libs/installer/packagemanagergui.cpp')
-rw-r--r-- | src/libs/installer/packagemanagergui.cpp | 77 |
1 files changed, 56 insertions, 21 deletions
diff --git a/src/libs/installer/packagemanagergui.cpp b/src/libs/installer/packagemanagergui.cpp index a59586e9e..1757f21f5 100644 --- a/src/libs/installer/packagemanagergui.cpp +++ b/src/libs/installer/packagemanagergui.cpp @@ -126,8 +126,8 @@ public: setPixmap(QWizard::WatermarkPixmap, QPixmap()); setLayout(new QVBoxLayout); - setSubTitle(QLatin1String(" ")); - setTitle(widget->windowTitle()); + setColoredSubTitle(QLatin1String(" ")); + setColoredTitle(widget->windowTitle()); m_widget->setProperty("complete", true); m_widget->setProperty("final", false); widget->installEventFilter(this); @@ -150,7 +150,7 @@ protected: if (obj == m_widget) { switch(event->type()) { case QEvent::WindowTitleChange: - setTitle(m_widget->windowTitle()); + setColoredTitle(m_widget->windowTitle()); break; case QEvent::DynamicPropertyChange: @@ -236,6 +236,10 @@ PackageManagerGui::PackageManagerGui(PackageManagerCore *core, QWidget *parent) setWizardStyle(QWizard::ModernStyle); setSizeGripEnabled(true); #endif + + if (!m_core->settings().wizardStyle().isEmpty()) + setWizardStyle(getStyle(m_core->settings().wizardStyle())); + setOption(QWizard::NoBackButtonOnStartPage); setOption(QWizard::NoBackButtonOnLastPage); @@ -285,6 +289,19 @@ PackageManagerGui::~PackageManagerGui() delete d; } +QWizard::WizardStyle PackageManagerGui::getStyle(const QString &name) +{ + if (name == QLatin1String("Classic")) + return QWizard::ClassicStyle; + else if (name == QLatin1String("Modern")) + return QWizard::ModernStyle; + else if (name == QLatin1String("Mac")) + return QWizard::MacStyle; + else if (name == QLatin1String("Aero")) + return QWizard::AeroStyle; + return QWizard::ModernStyle; +} + void PackageManagerGui::setAutomatedPageSwitchEnabled(bool request) { d->m_autoSwitchPage = request; @@ -625,6 +642,12 @@ PackageManagerPage::PackageManagerPage(PackageManagerCore *core) , m_core(core) , validatorComponent(0) { + if (!m_core->settings().titleColor().isEmpty()) + m_titleColor = m_core->settings().titleColor(); + else { + QColor defaultColor = style()->standardPalette().text().color(); + m_titleColor = defaultColor.name(); + } setPixmap(QWizard::WatermarkPixmap, watermarkPixmap()); setPixmap(QWizard::BannerPixmap, bannerPixmap()); setPixmap(QWizard::LogoPixmap, logoPixmap()); @@ -655,6 +678,18 @@ QString PackageManagerPage::productName() const return m_core->value(QLatin1String("ProductName")); } +void PackageManagerPage::setColoredTitle(const QString &title) +{ + QString coloredTitle = QString::fromLatin1("<font color=\"%1\">%2</font>").arg(m_titleColor, title); + setTitle(coloredTitle); +} + +void PackageManagerPage::setColoredSubTitle(const QString &subTitle) +{ + QString coloredTitle = QString::fromLatin1("<font color=\"%1\">%2</font>").arg(m_titleColor, subTitle); + setSubTitle(coloredTitle); +} + bool PackageManagerPage::isComplete() const { return m_complete; @@ -758,7 +793,7 @@ IntroductionPage::IntroductionPage(PackageManagerCore *core) , m_widget(0) { setObjectName(QLatin1String("IntroductionPage")); - setTitle(tr("Setup - %1").arg(productName())); + setColoredTitle(tr("Setup - %1").arg(productName())); m_msgLabel = new QLabel(this); m_msgLabel->setWordWrap(true); @@ -821,7 +856,7 @@ LicenseAgreementPage::LicenseAgreementPage(PackageManagerCore *core) { setPixmap(QWizard::WatermarkPixmap, QPixmap()); setObjectName(QLatin1String("LicenseAgreementPage")); - setTitle(tr("License Agreement")); + setColoredTitle(tr("License Agreement")); m_licenseListWidget = new QListWidget(this); m_licenseListWidget->setObjectName(QLatin1String("LicenseListWidget")); @@ -941,7 +976,7 @@ void LicenseAgreementPage::updateUi() rejectButtonText = tr("I do not accept the licenses."); } - setSubTitle(subTitleText); + setColoredSubTitle(subTitleText); m_acceptLabel->setText(acceptButtonText); m_rejectLabel->setText(rejectButtonText); @@ -1142,7 +1177,7 @@ ComponentSelectionPage::ComponentSelectionPage(PackageManagerCore *core) { setPixmap(QWizard::WatermarkPixmap, QPixmap()); setObjectName(QLatin1String("ComponentSelectionPage")); - setTitle(tr("Select Components")); + setColoredTitle(tr("Select Components")); } ComponentSelectionPage::~ComponentSelectionPage() @@ -1164,7 +1199,7 @@ void ComponentSelectionPage::entering() if (core->isInstaller()) index = 1; if (core->isUninstaller()) index = 2; if (core->isPackageManager()) index = 3; - setSubTitle(tr(strings[index])); + setColoredSubTitle(tr(strings[index])); d->updateTreeView(); setModified(isComplete()); @@ -1234,7 +1269,7 @@ TargetDirectoryPage::TargetDirectoryPage(PackageManagerCore *core) { setPixmap(QWizard::WatermarkPixmap, QPixmap()); setObjectName(QLatin1String("TargetDirectoryPage")); - setTitle(tr("Installation Folder")); + setColoredTitle(tr("Installation Folder")); QVBoxLayout *layout = new QVBoxLayout(this); @@ -1353,8 +1388,8 @@ StartMenuDirectoryPage::StartMenuDirectoryPage(PackageManagerCore *core) { setPixmap(QWizard::WatermarkPixmap, QPixmap()); 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 " + setColoredTitle(tr("Start Menu shortcuts")); + setColoredSubTitle(tr("Select the Start Menu in which you would like to create the program's shortcuts. You can " "also enter a name to create a new folder.")); m_lineEdit = new QLineEdit(this); @@ -1489,7 +1524,7 @@ void ReadyForInstallationPage::entering() m_taskDetailsButton->setVisible(false); m_taskDetailsBrowser->setVisible(false); setButtonText(QWizard::CommitButton, tr("U&ninstall")); - setTitle(tr("Ready to Uninstall")); + setColoredTitle(tr("Ready to Uninstall")); m_msgLabel->setText(tr("Setup is now ready to begin removing %1 from your computer.<br>" "<font color=\"red\">The program directory %2 will be deleted completely</font>, " "including all content in that directory!") @@ -1499,12 +1534,12 @@ void ReadyForInstallationPage::entering() return; } else if (packageManagerCore()->isPackageManager() || packageManagerCore()->isUpdater()) { setButtonText(QWizard::CommitButton, tr("U&pdate")); - setTitle(tr("Ready to Update Packages")); + setColoredTitle(tr("Ready to Update Packages")); m_msgLabel->setText(tr("Setup is now ready to begin updating your installation.")); } else { Q_ASSERT(packageManagerCore()->isInstaller()); setButtonText(QWizard::CommitButton, tr("&Install")); - setTitle(tr("Ready to Install")); + setColoredTitle(tr("Ready to Install")); m_msgLabel->setText(tr("Setup is now ready to begin installing %1 on your computer.") .arg(productName())); } @@ -1711,17 +1746,17 @@ void PerformInstallationPage::entering() if (packageManagerCore()->isUninstaller()) { setButtonText(QWizard::CommitButton, tr("U&ninstall")); - setTitle(tr("Uninstalling %1").arg(productName())); + setColoredTitle(tr("Uninstalling %1").arg(productName())); QTimer::singleShot(30, packageManagerCore(), SLOT(runUninstaller())); } else if (packageManagerCore()->isPackageManager() || packageManagerCore()->isUpdater()) { setButtonText(QWizard::CommitButton, tr("&Update")); - setTitle(tr("Updating components of %1").arg(productName())); + setColoredTitle(tr("Updating components of %1").arg(productName())); QTimer::singleShot(30, packageManagerCore(), SLOT(runPackageUpdater())); } else { setButtonText(QWizard::CommitButton, tr("&Install")); - setTitle(tr("Installing %1").arg(productName())); + setColoredTitle(tr("Installing %1").arg(productName())); QTimer::singleShot(30, packageManagerCore(), SLOT(runInstaller())); } @@ -1739,7 +1774,7 @@ void PerformInstallationPage::leaving() void PerformInstallationPage::setTitleMessage(const QString &title) { - setTitle(title); + setColoredTitle(title); } // -- private slots @@ -1788,7 +1823,7 @@ FinishedPage::FinishedPage(PackageManagerCore *core) , m_commitButton(0) { setObjectName(QLatin1String("FinishedPage")); - setTitle(tr("Completing the %1 Wizard").arg(productName())); + setColoredTitle(tr("Completing the %1 Wizard").arg(productName())); m_msgLabel = new QLabel(this); m_msgLabel->setWordWrap(true); @@ -1865,7 +1900,7 @@ void FinishedPage::entering() } } else { // TODO: how to handle this using the config.xml - setTitle(tr("The %1 Wizard failed.").arg(productName())); + setColoredTitle(tr("The %1 Wizard failed.").arg(productName())); } m_runItCheckBox->hide(); @@ -1916,7 +1951,7 @@ RestartPage::RestartPage(PackageManagerCore *core) : PackageManagerPage(core) { setObjectName(QLatin1String("RestartPage")); - setTitle(tr("Completing the %1 Setup Wizard").arg(productName())); + setColoredTitle(tr("Completing the %1 Setup Wizard").arg(productName())); setFinalPage(false); setCommitPage(false); |