forked from qt-creator/qt-creator
Theming: Store initial palette
Change-Id: Iea8b74534a59d8410814f9dd41225b88e1e81f75 Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
This commit is contained in:
committed by
Orgad Shaneh
parent
ab83c30f87
commit
3ec16fe4d8
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user