Theming: Allow to apply theme palette globally

Change-Id: I709bd6b6c566e016731af1fb94ddaef6326ef485
Reviewed-by: Thorben Kroeger <thorbenkroeger@gmail.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
Thorben Kroeger
2014-10-20 21:43:21 +02:00
committed by Orgad Shaneh
parent 48a90eea3c
commit 82bbc6f562
5 changed files with 8 additions and 1 deletions

View File

@@ -108,6 +108,7 @@ DrawIndicatorBranch=true
DrawProgressBarSunken=false
DrawSearchResultWidgetFrame=false
DrawTargetSelectorBottom=false
ApplyThemePaletteGlobally=true
[Gradients]
DetailsWidgetHeaderGradient\1\color=0

View File

@@ -102,6 +102,7 @@ DrawIndicatorBranch=false
DrawProgressBarSunken=true
DrawSearchResultWidgetFrame=true
DrawTargetSelectorBottom=true
ApplyThemePaletteGlobally=false
[Gradients]
DetailsWidgetHeaderGradient\1\color=ffffff

View File

@@ -184,7 +184,8 @@ public:
DrawProgressBarSunken,
DrawIndicatorBranch,
ComboBoxDrawTextShadow,
DerivePaletteFromTheme
DerivePaletteFromTheme,
ApplyThemePaletteGlobally
};
enum WidgetStyle {

View File

@@ -131,6 +131,8 @@ void CorePlugin::parseArguments(const QStringList &arguments)
Theme *theme = new Theme(qApp);
theme->readSettings(themeSettings);
setCreatorTheme(theme);
if (theme->flag(Theme::ApplyThemePaletteGlobally))
QApplication::setPalette(creatorTheme()->palette(QApplication::palette()));
// defer creation of these widgets until here,
// because they need a valid theme set

View File

@@ -434,6 +434,8 @@ void ThemeSettings::apply()
{
d->m_ui->editor->model()->toTheme(creatorTheme());
if (creatorTheme()->flag(Theme::ApplyThemePaletteGlobally))
QApplication::setPalette(creatorTheme()->palette(QApplication::palette()));
foreach (QWidget *w, QApplication::topLevelWidgets())
w->update();
}