summaryrefslogtreecommitdiffstats
path: root/src/libs/installer
diff options
context:
space:
mode:
authorDenis Shienkov <denis.shienkov@gmail.com>2015-09-20 22:48:09 +0300
committerDenis Shienkov <denis.shienkov@gmail.com>2015-09-28 10:30:49 +0000
commit175ffec58f9e4f513004ec53ab03f06561096913 (patch)
treeab0fe112c20ca2cbe861082c3085ca74411e5bfa /src/libs/installer
parent2dcd457bcecc15eecaa021d3745b0603f5ba364a (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.h1
-rw-r--r--src/libs/installer/packagemanagergui.cpp13
-rw-r--r--src/libs/installer/settings.cpp7
-rw-r--r--src/libs/installer/settings.h1
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;