summaryrefslogtreecommitdiffstats
path: root/shemov.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2013-03-17 13:18:09 +0100
committerArno <am@disconnect.de>2013-03-17 13:18:09 +0100
commit89946d85a39f3c0b5ea87c887340b4781b6b2900 (patch)
tree5052cbebd07f86f5363dd79f20f47ccb21e250ac /shemov.cpp
parentc81dcb6c33342027017f0559444685168523f486 (diff)
downloadSheMov-89946d85a39f3c0b5ea87c887340b4781b6b2900.tar.gz
SheMov-89946d85a39f3c0b5ea87c887340b4781b6b2900.tar.bz2
SheMov-89946d85a39f3c0b5ea87c887340b4781b6b2900.zip
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...
Diffstat (limited to 'shemov.cpp')
-rw-r--r--shemov.cpp34
1 files changed, 22 insertions, 12 deletions
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<QColor>());
- pal.setColor(QPalette::AlternateBase, alternatecolor.value<QColor>());
- }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<QAction*>(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<QColor>());
+ pal.setColor(QPalette::AlternateBase, alternatecolor.value<QColor>());
+ }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(){