From d78e80b5488933c449c53ea0fa1efbd64edfcd71 Mon Sep 17 00:00:00 2001 From: Eberhard Graether Date: Tue, 16 Oct 2018 23:40:40 +0200 Subject: [PATCH] ui: Fixed unhovering active error removes active highlight --- src/lib_gui/qt/element/QtCodeArea.cpp | 2 +- src/lib_gui/qt/element/QtCodeField.cpp | 16 +++++----------- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/src/lib_gui/qt/element/QtCodeArea.cpp b/src/lib_gui/qt/element/QtCodeArea.cpp index a238fa17..a7c08a63 100644 --- a/src/lib_gui/qt/element/QtCodeArea.cpp +++ b/src/lib_gui/qt/element/QtCodeArea.cpp @@ -755,7 +755,7 @@ void QtCodeArea::defocusTokenIds(const std::vector& tokenIds) { if (m_navigator->hasErrors() && tokenIds.size() == 1) { - QtCodeField::defocusTokenIds(tokenIds); + QtCodeField::defocusTokenIds(utility::toVector(m_navigator->getActiveLocalTokenIds())); return; } diff --git a/src/lib_gui/qt/element/QtCodeField.cpp b/src/lib_gui/qt/element/QtCodeField.cpp index 5364ecaa..ff3fa1aa 100644 --- a/src/lib_gui/qt/element/QtCodeField.cpp +++ b/src/lib_gui/qt/element/QtCodeField.cpp @@ -293,14 +293,14 @@ void QtCodeField::mouseReleaseEvent(QMouseEvent* event) activateAnnotations(annotations); } -void QtCodeField::focusTokenIds(const std::vector& tokenIds) +void QtCodeField::focusTokenIds(const std::vector& focusedTokenIds) { - annotateText(std::set(), std::set(), std::set(tokenIds.begin(), tokenIds.end())); + annotateText(std::set(), std::set(), std::set(focusedTokenIds.begin(), focusedTokenIds.end())); } -void QtCodeField::defocusTokenIds(const std::vector& tokenIds) +void QtCodeField::defocusTokenIds(const std::vector& activeTokenIds) { - annotateText(std::set(), std::set(), std::set()); + annotateText(std::set(activeTokenIds.begin(), activeTokenIds.end()), std::set(), std::set()); } bool QtCodeField::annotateText( @@ -513,13 +513,7 @@ void QtCodeField::setHoveredAnnotations(const std::vector& an { if (m_hoveredAnnotations.size()) { - std::vector tokenIds; - for (const Annotation* annotation : m_hoveredAnnotations) - { - tokenIds.insert(tokenIds.end(), annotation->tokenIds.begin(), annotation->tokenIds.end()); - } - - defocusTokenIds(tokenIds); + defocusTokenIds({}); } m_hoveredAnnotations = annotations;