┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews
diff options
context:
space:
mode:
Diffstat (limited to 'src/kitemviews')
-rw-r--r--src/kitemviews/kitemset.h4
-rw-r--r--src/kitemviews/kstandarditemlistwidget.cpp17
-rw-r--r--src/kitemviews/kstandarditemlistwidget.h3
-rw-r--r--src/kitemviews/private/kitemlistselectiontoggle.cpp2
4 files changed, 19 insertions, 7 deletions
diff --git a/src/kitemviews/kitemset.h b/src/kitemviews/kitemset.h
index 31fe1d249..5afe24df5 100644
--- a/src/kitemviews/kitemset.h
+++ b/src/kitemviews/kitemset.h
@@ -20,6 +20,8 @@
#ifndef KITEMSET_H
#define KITEMSET_H
+#include "dolphin_export.h"
+
#include <kitemviews/kitemrange.h>
/**
@@ -40,7 +42,7 @@
* The complexity of most operations depends on the number of ranges.
*/
-class KItemSet
+class DOLPHIN_EXPORT KItemSet
{
public:
KItemSet();
diff --git a/src/kitemviews/kstandarditemlistwidget.cpp b/src/kitemviews/kstandarditemlistwidget.cpp
index 51c5bc896..8740cb73f 100644
--- a/src/kitemviews/kstandarditemlistwidget.cpp
+++ b/src/kitemviews/kstandarditemlistwidget.cpp
@@ -850,6 +850,15 @@ void KStandardItemListWidget::hideEvent(QHideEvent* event)
KItemListWidget::hideEvent(event);
}
+bool KStandardItemListWidget::event(QEvent *event)
+{
+ if (event->type() == QEvent::WindowDeactivate || event->type() == QEvent::WindowActivate) {
+ m_dirtyContent = true;
+ }
+
+ return KItemListWidget::event(event);
+}
+
void KStandardItemListWidget::slotCutItemsChanged()
{
const QUrl itemUrl = data().value("url").toUrl();
@@ -954,7 +963,7 @@ void KStandardItemListWidget::updatePixmapCache()
iconName = QStringLiteral("unknown");
}
const QStringList overlays = values["iconOverlays"].toStringList();
- m_pixmap = pixmapForIcon(iconName, overlays, maxIconHeight);
+ m_pixmap = pixmapForIcon(iconName, overlays, maxIconHeight, isSelected() && isActiveWindow() ? QIcon::Selected : QIcon::Normal);
} else if (m_pixmap.width() / m_pixmap.devicePixelRatio() != maxIconWidth || m_pixmap.height() / m_pixmap.devicePixelRatio() != maxIconHeight) {
// A custom pixmap has been applied. Assure that the pixmap
@@ -1438,11 +1447,11 @@ void KStandardItemListWidget::closeRoleEditor()
m_roleEditor = 0;
}
-QPixmap KStandardItemListWidget::pixmapForIcon(const QString& name, const QStringList& overlays, int size)
+QPixmap KStandardItemListWidget::pixmapForIcon(const QString& name, const QStringList& overlays, int size, QIcon::Mode mode)
{
static const QIcon fallbackIcon = QIcon::fromTheme(QStringLiteral("unknown"));
size *= qApp->devicePixelRatio();
- const QString key = "KStandardItemListWidget:" % name % ":" % overlays.join(QStringLiteral(":")) % ":" % QString::number(size);
+ const QString key = "KStandardItemListWidget:" % name % ":" % overlays.join(QStringLiteral(":")) % ":" % QString::number(size) % ":" % QString::number(mode);
QPixmap pixmap;
if (!QPixmapCache::find(key, pixmap)) {
@@ -1467,7 +1476,7 @@ QPixmap KStandardItemListWidget::pixmapForIcon(const QString& name, const QStrin
requestedSize = size;
}
- pixmap = icon.pixmap(requestedSize / qApp->devicePixelRatio(), requestedSize / qApp->devicePixelRatio());
+ pixmap = icon.pixmap(requestedSize / qApp->devicePixelRatio(), requestedSize / qApp->devicePixelRatio(), mode);
if (requestedSize != size) {
KPixmapModifier::scale(pixmap, QSize(size, size));
}
diff --git a/src/kitemviews/kstandarditemlistwidget.h b/src/kitemviews/kstandarditemlistwidget.h
index 9ab5d4c8f..e6ba4bb3f 100644
--- a/src/kitemviews/kstandarditemlistwidget.h
+++ b/src/kitemviews/kstandarditemlistwidget.h
@@ -183,6 +183,7 @@ protected:
virtual void resizeEvent(QGraphicsSceneResizeEvent* event) Q_DECL_OVERRIDE;
virtual void showEvent(QShowEvent* event) Q_DECL_OVERRIDE;
virtual void hideEvent(QHideEvent* event) Q_DECL_OVERRIDE;
+ bool event(QEvent *event) Q_DECL_OVERRIDE;
private slots:
void slotCutItemsChanged();
@@ -212,7 +213,7 @@ private:
*/
void closeRoleEditor();
- static QPixmap pixmapForIcon(const QString& name, const QStringList& overlays, int size);
+ static QPixmap pixmapForIcon(const QString& name, const QStringList& overlays, int size, QIcon::Mode mode);
/**
* @return Preferred size of the rating-image based on the given
diff --git a/src/kitemviews/private/kitemlistselectiontoggle.cpp b/src/kitemviews/private/kitemlistselectiontoggle.cpp
index 1429cb9ef..9031c870f 100644
--- a/src/kitemviews/private/kitemlistselectiontoggle.cpp
+++ b/src/kitemviews/private/kitemlistselectiontoggle.cpp
@@ -89,7 +89,7 @@ void KItemListSelectionToggle::resizeEvent(QGraphicsSceneResizeEvent* event)
void KItemListSelectionToggle::updatePixmap()
{
- const QString icon = m_checked ? QStringLiteral("list-remove") : QStringLiteral("list-add");
+ const QString icon = m_checked ? QStringLiteral("emblem-remove") : QStringLiteral("emblem-added");
const KIconLoader::States state = m_hovered ? KIconLoader::ActiveState : KIconLoader::DisabledState;
m_pixmap = KIconLoader::global()->loadIcon(icon, KIconLoader::Desktop, iconSize(), state);
}