From f49256bbd44832c6ca18c5fe8fa90df2087aa148 Mon Sep 17 00:00:00 2001 From: Eberhard Graether Date: Sun, 28 Jan 2018 21:58:10 +0100 Subject: [PATCH] ui: Clicking an active location in the code view will activate it again --- src/lib_gui/qt/element/QtCodeField.cpp | 42 +++++++++----------------- 1 file changed, 14 insertions(+), 28 deletions(-) diff --git a/src/lib_gui/qt/element/QtCodeField.cpp b/src/lib_gui/qt/element/QtCodeField.cpp index 56d2080a..991a30c9 100644 --- a/src/lib_gui/qt/element/QtCodeField.cpp +++ b/src/lib_gui/qt/element/QtCodeField.cpp @@ -400,16 +400,10 @@ void QtCodeField::activateAnnotations(const std::vector& anno std::set tokenIds; std::set localSymbolIds; - bool allActive = true; for (const Annotation* annotation : annotations) { if (annotation->locationType == LOCATION_TOKEN || annotation->locationType == LOCATION_QUALIFIER) { - if (!annotation->isActive) - { - allActive = false; - } - if (annotation->locationId > 0) { locationIds.push_back(annotation->locationId); @@ -422,11 +416,6 @@ void QtCodeField::activateAnnotations(const std::vector& anno } else if (annotation->locationType == LOCATION_LOCAL_SYMBOL) { - if (!annotation->isActive) - { - allActive = false; - } - if (annotation->tokenIds.size()) { localSymbolIds.insert(annotation->tokenIds.begin(), annotation->tokenIds.end()); @@ -434,24 +423,21 @@ void QtCodeField::activateAnnotations(const std::vector& anno } } - if (!allActive) + if (tokenIds.size() > 1 || localSymbolIds.size() > 1 || (tokenIds.size() && localSymbolIds.size())) { - if (tokenIds.size() > 1 || localSymbolIds.size() > 1 || (tokenIds.size() && localSymbolIds.size())) - { - MessageTooltipShow(locationIds, utility::toVector(localSymbolIds), TOOLTIP_ORIGIN_CODE).dispatch(); - } - else if (locationIds.size()) - { - MessageActivateSourceLocations(locationIds).dispatch(); - } - else if (tokenIds.size()) // fallback for links in project description - { - MessageActivateTokenIds(utility::toVector(tokenIds)).dispatch(); - } - else if (localSymbolIds.size()) - { - MessageActivateLocalSymbols(utility::toVector(localSymbolIds)).dispatch(); - } + MessageTooltipShow(locationIds, utility::toVector(localSymbolIds), TOOLTIP_ORIGIN_CODE).dispatch(); + } + else if (locationIds.size()) + { + MessageActivateSourceLocations(locationIds).dispatch(); + } + else if (tokenIds.size()) // fallback for links in project description + { + MessageActivateTokenIds(utility::toVector(tokenIds)).dispatch(); + } + else if (localSymbolIds.size()) + { + MessageActivateLocalSymbols(utility::toVector(localSymbolIds)).dispatch(); } }