]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Fix tooltip closing while mouse moves over item
authorGeorge Florea Bănuș <georgefb899@gmail.com>
Fri, 1 Apr 2022 10:12:05 +0000 (10:12 +0000)
committerFelix Ernst <fe.a.ernst@gmail.com>
Fri, 1 Apr 2022 10:12:05 +0000 (10:12 +0000)
The itemHovered signal is emitted whenever the mouses moves causing the
tooltip to close.

src/kitemviews/kitemlistcontroller.cpp

index 2422e91109ba7bc35f62cb9bcdceaeb7fbe1312e..9f54fad2cff68bee0a5c475cc3829a48e06d47c3 100644 (file)
@@ -871,7 +871,8 @@ bool KItemListController::hoverMoveEvent(QGraphicsSceneHoverEvent* event, const
             newHoveredWidget->setExpansionAreaHovered(true);
         } else {
             // make sure we unhover the old one first if old!=new
-            if (auto oldHoveredWidget = hoveredWidget(); oldHoveredWidget && oldHoveredWidget != newHoveredWidget) {
+            auto oldHoveredWidget = hoveredWidget();
+            if (oldHoveredWidget && oldHoveredWidget != newHoveredWidget) {
                 oldHoveredWidget->setHovered(false);
                 Q_EMIT itemUnhovered(oldHoveredWidget->index());
             }
@@ -888,9 +889,11 @@ bool KItemListController::hoverMoveEvent(QGraphicsSceneHoverEvent* event, const
 
                 // (no-op in this branch for masked hover)
             } else {
-                newHoveredWidget->setHovered(true);
                 newHoveredWidget->setHoverPosition(mappedPos);
-                Q_EMIT itemHovered(newHoveredWidget->index());
+                if (oldHoveredWidget != newHoveredWidget) {
+                    newHoveredWidget->setHovered(true);
+                    Q_EMIT itemHovered(newHoveredWidget->index());
+                }
             }
         }
     } else {