]> cloud.milkyroute.net Git - dolphin.git/commitdiff
[KStandardItemListWidget] Update icon when palette changes
authorKai Uwe Broulik <kde@privat.broulik.de>
Mon, 6 Feb 2017 18:12:48 +0000 (19:12 +0100)
committerKai Uwe Broulik <kde@privat.broulik.de>
Mon, 6 Feb 2017 18:12:48 +0000 (19:12 +0100)
We can colorize icons based on the user's palette, so clear the pixmap cache when it changes.

Differential Revision: https://phabricator.kde.org/D3937

src/kitemviews/kstandarditemlistwidget.cpp
src/views/dolphinview.cpp

index 8740cb73fd59c6b55ea856bd2c011e504e6183aa..1c89edb6e7b30b6a6f52e80f5935831fa946d88b 100644 (file)
@@ -852,7 +852,8 @@ void KStandardItemListWidget::hideEvent(QHideEvent* event)
 
 bool KStandardItemListWidget::event(QEvent *event)
 {
-    if (event->type() == QEvent::WindowDeactivate || event->type() == QEvent::WindowActivate) {
+    if (event->type() == QEvent::WindowDeactivate || event->type() == QEvent::WindowActivate
+            || event->type() == QEvent::PaletteChange) {
         m_dirtyContent = true;
     }
 
index 7d85fa240c36027e25ad9ff950ad4515695340bf..30298d2e1efe356d50f62a09d8f2db8e063920ea 100644 (file)
@@ -29,6 +29,7 @@
 #include <QGraphicsSceneDragDropEvent>
 #include <QTimer>
 #include <QScrollBar>
+#include <QPixmapCache>
 #include <QPointer>
 #include <QMenu>
 #include <QVBoxLayout>
@@ -731,6 +732,7 @@ bool DolphinView::eventFilter(QObject* watched, QEvent* event)
     switch (event->type()) {
     case QEvent::PaletteChange:
         updatePalette();
+        QPixmapCache::clear();
         break;
 
     case QEvent::KeyPress: