From: Manuel Nickschas Date: Wed, 29 Jul 2009 18:32:09 +0000 (+0200) Subject: Reload stylesheet after changing it in the AppearanceSettingsPage X-Git-Tag: 0.5-rc1~111 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=4c740970699031a20315c7f5666d1f88c439f739;ds=inline Reload stylesheet after changing it in the AppearanceSettingsPage --- 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(); }