From 4c740970699031a20315c7f5666d1f88c439f739 Mon Sep 17 00:00:00 2001 From: Manuel Nickschas Date: Wed, 29 Jul 2009 20:32:09 +0200 Subject: [PATCH] Reload stylesheet after changing it in the AppearanceSettingsPage --- src/qtui/settingspages/appearancesettingspage.cpp | 6 ++++++ src/qtui/settingspages/appearancesettingspage.ui | 2 +- src/uisupport/uistyle.cpp | 15 +++++++-------- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/qtui/settingspages/appearancesettingspage.cpp b/src/qtui/settingspages/appearancesettingspage.cpp index e3338169..5206430b 100644 --- a/src/qtui/settingspages/appearancesettingspage.cpp +++ b/src/qtui/settingspages/appearancesettingspage.cpp @@ -186,8 +186,14 @@ void AppearanceSettingsPage::save() { _fontsChanged = false; + bool needsStyleReload = + ui.useCustomStyleSheet->isChecked() != ui.useCustomStyleSheet->property("storedValue").toBool() + || (ui.useCustomStyleSheet->isChecked() && ui.customStyleSheetPath->text() != ui.customStyleSheetPath->property("storedValue").toString()); + SettingsPage::save(); setChangedState(false); + if(needsStyleReload) + QtUi::style()->reload(); } QLocale AppearanceSettingsPage::selectedLocale() const { diff --git a/src/qtui/settingspages/appearancesettingspage.ui b/src/qtui/settingspages/appearancesettingspage.ui index 69bb6801..291881a8 100644 --- a/src/qtui/settingspages/appearancesettingspage.ui +++ b/src/qtui/settingspages/appearancesettingspage.ui @@ -57,7 +57,7 @@ - + Use Custom Stylesheet diff --git a/src/uisupport/uistyle.cpp b/src/uisupport/uistyle.cpp index 4964692b..35d3162d 100644 --- a/src/uisupport/uistyle.cpp +++ b/src/uisupport/uistyle.cpp @@ -77,15 +77,14 @@ void UiStyle::loadStyleSheet() { styleSheet += loadStyleSheet("file:///" + s.value("CustomStyleSheetPath").toString(), true); styleSheet += loadStyleSheet("file:///" + Quassel::optionValue("qss"), true); - if(styleSheet.isEmpty()) - return; + if(!styleSheet.isEmpty()) { + QssParser parser; + parser.processStyleSheet(styleSheet); + QApplication::setPalette(parser.palette()); + _formatCache = parser.formats(); - QssParser parser; - parser.processStyleSheet(styleSheet); - QApplication::setPalette(parser.palette()); - _formatCache = parser.formats(); - - qApp->setStyleSheet(styleSheet); // pass the remaining sections to the application + qApp->setStyleSheet(styleSheet); // pass the remaining sections to the application + } emit changed(); } -- 2.20.1