summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/packagemanagergui.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/installer/packagemanagergui.cpp')
-rw-r--r--src/libs/installer/packagemanagergui.cpp77
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);