diff options
| author | George Florea Bănuș <[email protected]> | 2022-04-01 10:12:05 +0000 |
|---|---|---|
| committer | Felix Ernst <[email protected]> | 2022-04-01 10:12:05 +0000 |
| commit | 29383426d66feb255034a3e160ae48b6273773d1 (patch) | |
| tree | 555ebc48f9adbffaf8ae0a952bd10a45294ba5c6 /src | |
| parent | 1041b52c7a9002d682246052a587e9a17357afa1 (diff) | |
Fix tooltip closing while mouse moves over item
The itemHovered signal is emitted whenever the mouses moves causing the
tooltip to close.
Diffstat (limited to 'src')
| -rw-r--r-- | src/kitemviews/kitemlistcontroller.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/kitemviews/kitemlistcontroller.cpp b/src/kitemviews/kitemlistcontroller.cpp index 2422e9110..9f54fad2c 100644 --- a/src/kitemviews/kitemlistcontroller.cpp +++ b/src/kitemviews/kitemlistcontroller.cpp @@ -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 { |
