diff options
author | Denis Shienkov <denis.shienkov@gmail.com> | 2015-09-20 22:48:09 +0300 |
---|---|---|
committer | Denis Shienkov <denis.shienkov@gmail.com> | 2015-09-28 10:30:49 +0000 |
commit | 175ffec58f9e4f513004ec53ab03f06561096913 (patch) | |
tree | ab0fe112c20ca2cbe861082c3085ca74411e5bfa /src/libs/installer | |
parent | 2dcd457bcecc15eecaa021d3745b0603f5ba364a (diff) |
Allow to use the stylesheet to customize UI
Now it is possible to set a stylesheet file to customize
the wizard's UI. The stylesheet adds to the config.xml
file using the new "StyleSheet" element.
Change-Id: I66271f755a0f742e96cf433fe557423a2261e432
Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Diffstat (limited to 'src/libs/installer')
-rw-r--r-- | src/libs/installer/constants.h | 1 | ||||
-rw-r--r-- | src/libs/installer/packagemanagergui.cpp | 13 | ||||
-rw-r--r-- | src/libs/installer/settings.cpp | 7 | ||||
-rw-r--r-- | src/libs/installer/settings.h | 1 |
4 files changed, 21 insertions, 1 deletions
diff --git a/src/libs/installer/constants.h b/src/libs/installer/constants.h index df31a2cd8..ea6d1334c 100644 --- a/src/libs/installer/constants.h +++ b/src/libs/installer/constants.h @@ -84,6 +84,7 @@ static const QLatin1String scAllowNonAsciiCharacters("AllowNonAsciiCharacters"); static const QLatin1String scRepositorySettingsPageVisible("RepositorySettingsPageVisible"); static const QLatin1String scAllowSpaceInPath("AllowSpaceInPath"); static const QLatin1String scWizardStyle("WizardStyle"); +static const QLatin1String scStyleSheet("StyleSheet"); static const QLatin1String scTitleColor("TitleColor"); static const QLatin1String scWizardDefaultWidth("WizardDefaultWidth"); static const QLatin1String scWizardDefaultHeight("WizardDefaultHeight"); diff --git a/src/libs/installer/packagemanagergui.cpp b/src/libs/installer/packagemanagergui.cpp index 85bf4e1f0..df1a008ba 100644 --- a/src/libs/installer/packagemanagergui.cpp +++ b/src/libs/installer/packagemanagergui.cpp @@ -318,6 +318,19 @@ PackageManagerGui::PackageManagerGui(PackageManagerCore *core, QWidget *parent) if (!m_core->settings().wizardStyle().isEmpty()) setWizardStyle(getStyle(m_core->settings().wizardStyle())); + // set custom stylesheet + const QString styleSheetFile = m_core->settings().styleSheet(); + if (!styleSheetFile.isEmpty() + && QFileInfo::exists(styleSheetFile)) { + QFile sheet(styleSheetFile); + if (sheet.open(QIODevice::ReadOnly)) + setStyleSheet(QString::fromLatin1(sheet.readAll())); + else + qWarning() << "The specified style sheet file can not be opened."; + } else { + qWarning() << "A style sheet file is specified, but it does not exist."; + } + setOption(QWizard::NoBackButtonOnStartPage); setOption(QWizard::NoBackButtonOnLastPage); diff --git a/src/libs/installer/settings.cpp b/src/libs/installer/settings.cpp index 94adbf8af..9d9eb9574 100644 --- a/src/libs/installer/settings.cpp +++ b/src/libs/installer/settings.cpp @@ -255,7 +255,7 @@ Settings Settings::fromFileAndPrefix(const QString &path, const QString &prefix, << scStartMenuDir << scMaintenanceToolName << scMaintenanceToolIniFile << scRemoveTargetDir << scRunProgram << scRunProgramArguments << scRunProgramDescription << scDependsOnLocalInstallerBinary - << scAllowSpaceInPath << scAllowNonAsciiCharacters << scWizardStyle << scTitleColor + << scAllowSpaceInPath << scAllowNonAsciiCharacters << scWizardStyle << scStyleSheet << scTitleColor << scWizardDefaultWidth << scWizardDefaultHeight << scRepositorySettingsPageVisible << scTargetConfigurationFile << scRemoteRepositories << scTranslations << QLatin1String(scControlScript) @@ -382,6 +382,11 @@ QString Settings::wizardStyle() const return d->m_data.value(scWizardStyle).toString(); } +QString Settings::styleSheet() const +{ + return d->absolutePathFromKey(scStyleSheet); +} + QString Settings::titleColor() const { return d->m_data.value(scTitleColor).toString(); diff --git a/src/libs/installer/settings.h b/src/libs/installer/settings.h index 96c2ba450..17ae53a7f 100644 --- a/src/libs/installer/settings.h +++ b/src/libs/installer/settings.h @@ -89,6 +89,7 @@ public: QString installerWindowIcon() const; QString systemIconSuffix() const; QString wizardStyle() const; + QString styleSheet() const; QString titleColor() const; int wizardDefaultWidth() const; int wizardDefaultHeight() const; |