Commit 3ec16fe4 authored by Orgad Shaneh's avatar Orgad Shaneh Committed by Orgad Shaneh
Browse files

Theming: Store initial palette



Change-Id: Iea8b74534a59d8410814f9dd41225b88e1e81f75
Reviewed-by: default avatarEike Ziller <eike.ziller@theqtcompany.com>
parent ab83c30f
......@@ -324,14 +324,20 @@ void Theme::readSettings(QSettings &settings)
}
}
QPalette Theme::palette(const QPalette &base) const
QPalette Theme::initialPalette()
{
static QPalette palette = QApplication::palette();
return palette;
}
QPalette Theme::palette() const
{
QPalette pal = initialPalette();
if (!flag(DerivePaletteFromTheme))
return base;
return pal;
// FIXME: introduce some more color roles for this
QPalette pal = base;
pal.setColor(QPalette::All, QPalette::Window, color(Theme::BackgroundColorNormal));
pal.setBrush(QPalette::All, QPalette::WindowText, color(Theme::TextColorNormal));
pal.setColor(QPalette::All, QPalette::Base, color(Theme::BackgroundColorNormal));
......
......@@ -33,8 +33,9 @@
#include "../utils_global.h"
#include <QStyle>
#include <QFlags>
#include <QPalette>
#include <QStyle>
QT_FORWARD_DECLARE_CLASS(QSettings)
......@@ -199,7 +200,7 @@ public:
QColor color(Color role) const;
QString imageFile(ImageFile imageFile, const QString &fallBack) const;
QGradientStops gradient(Gradient role) const;
QPalette palette(const QPalette &base) const;
QPalette palette() const;
QStringList preferredStyles() const;
QString fileName() const;
......@@ -209,6 +210,9 @@ public:
void writeSettings(const QString &filename) const;
void readSettings(QSettings &settings);
static QPalette initialPalette();
ThemePrivate *d;
signals:
......
......@@ -133,7 +133,7 @@ void CorePlugin::parseArguments(const QStringList &arguments)
theme->readSettings(themeSettings);
setCreatorTheme(theme);
if (theme->flag(Theme::ApplyThemePaletteGlobally))
QApplication::setPalette(creatorTheme()->palette(QApplication::palette()));
QApplication::setPalette(creatorTheme()->palette());
// defer creation of these widgets until here,
// because they need a valid theme set
......@@ -148,6 +148,7 @@ void CorePlugin::parseArguments(const QStringList &arguments)
bool CorePlugin::initialize(const QStringList &arguments, QString *errorMessage)
{
Theme::initialPalette(); // Initialize palette before setting it
qsrand(QDateTime::currentDateTime().toTime_t());
parseArguments(arguments);
const bool success = m_mainWindow->init(errorMessage);
......
......@@ -419,7 +419,7 @@ void ThemeSettingsWidget::apply()
{
d->m_ui->editor->model()->toTheme(creatorTheme());
if (creatorTheme()->flag(Theme::ApplyThemePaletteGlobally))
QApplication::setPalette(creatorTheme()->palette(QApplication::palette()));
QApplication::setPalette(creatorTheme()->palette());
foreach (QWidget *w, QApplication::topLevelWidgets())
w->update();
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment