]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kfileitemlistview.cpp
Make main view react to context menu events
[dolphin.git] / src / kitemviews / kfileitemlistview.cpp
index 668ebdfb21f8ca5f3dafe29a59b83574147afb06..954e6ab881ada04f009d328659808884d0920c8d 100644 (file)
@@ -326,6 +326,31 @@ void KFileItemListView::resizeEvent(QGraphicsSceneResizeEvent *event)
     triggerVisibleIndexRangeUpdate();
 }
 
+void KFileItemListView::focusInEvent(QFocusEvent *event)
+{
+    Q_UNUSED(event)
+    updateSelectedWidgets();
+}
+
+void KFileItemListView::focusOutEvent(QFocusEvent *event)
+{
+    Q_UNUSED(event)
+    updateSelectedWidgets();
+}
+
+void KFileItemListView::updateSelectedWidgets()
+{
+    const auto visibleWidgets = visibleItemListWidgets();
+    for (KItemListWidget *widget : visibleWidgets) {
+        if (widget->isSelected()) {
+            auto w = qobject_cast<KFileItemListWidget *>(widget);
+            if (w) {
+                w->forceUpdate();
+            }
+        }
+    }
+}
+
 void KFileItemListView::slotItemsRemoved(const KItemRangeList &itemRanges)
 {
     KStandardItemListView::slotItemsRemoved(itemRanges);
@@ -442,3 +467,5 @@ QSize KFileItemListView::availableIconSize() const
 
     return QSize(iconSize, iconSize);
 }
+
+#include "moc_kfileitemlistview.cpp"