From 89946d85a39f3c0b5ea87c887340b4781b6b2900 Mon Sep 17 00:00:00 2001 From: Arno Date: Sun, 17 Mar 2013 13:18:09 +0100 Subject: Fix Colors This is more a qt5-fix than a SmDirModel fix. The global palette doesn't propagate any more, so we have to set the palette in every QTreeView separately. Very annoying and tedious. Maybe I missed a Widget or two, dunno... --- shemov.cpp | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) (limited to 'shemov.cpp') diff --git a/shemov.cpp b/shemov.cpp index 1fcc5f5..a4226ad 100644 --- a/shemov.cpp +++ b/shemov.cpp @@ -181,6 +181,7 @@ void SheMov::configure(){ dlg.exec(); createOpenWithMenuFS(); createOpenWithMenuAV(); + createPalette(); emit configChanged(); } @@ -1078,18 +1079,7 @@ void SheMov::readSettings(){ } } } - bool alternate = s.value("ui/allowalternate").toBool(); - QPalette pal(palette()); - if(alternate){ - QVariant basecolor = s.value("ui/basecolor"); - QVariant alternatecolor = s.value("ui/alternatecolor"); - pal.setColor(QPalette::Base, basecolor.value()); - pal.setColor(QPalette::AlternateBase, alternatecolor.value()); - }else{ - pal.setColor(QPalette::Base, Qt::white); - pal.setColor(QPalette::AlternateBase, Qt::white); - } - qApp->setPalette(pal); + int seriesFilterMode = s.value("archive/filtermode").toInt(); QAction *filterAction = qobject_cast(mFilterMapper->mapping(seriesFilterMode)); if(filterAction){ @@ -1100,6 +1090,26 @@ void SheMov::readSettings(){ if(showAllFiles){ mShowBurnFilesA->trigger(); } + createPalette(); +} + +void SheMov::createPalette(){ + QSettings s; + bool alternate = s.value("ui/allowalternate").toBool(); + QPalette pal(palette()); + if(alternate){ + QVariant basecolor = s.value("ui/basecolor"); + QVariant alternatecolor = s.value("ui/alternatecolor"); + pal.setColor(QPalette::Base, basecolor.value()); + pal.setColor(QPalette::AlternateBase, alternatecolor.value()); + }else{ + pal.setColor(QPalette::Base, Qt::white); + pal.setColor(QPalette::AlternateBase, Qt::white); + } + qApp->setPalette(pal); + foreach(QWidget *w, SmGlobals::instance()->treeWidgets()){ + w->setPalette(pal); + } } void SheMov::checkConsistency(){ -- cgit v1.2.3-70-g09d2