diff --git a/src/lib/component/controller/CodeController.cpp b/src/lib/component/controller/CodeController.cpp index 107cb559..6a7f233a 100644 --- a/src/lib/component/controller/CodeController.cpp +++ b/src/lib/component/controller/CodeController.cpp @@ -424,8 +424,10 @@ void CodeController::expandVisibleSnippets(std::vector* snipp continue; } + CodeView::FileState fileState = oldSnippet.locationFile->isWhole() ? CodeView::FILE_MAXIMIZED : state; + std::vector newSnippets = - getSnippetsForFileWithState(oldSnippet.locationFile->getFilePath(), state, addSourceLocations); + getSnippetsForFileWithState(oldSnippet.locationFile->getFilePath(), fileState, addSourceLocations); if (!newSnippets.size()) { continue; diff --git a/src/lib_gui/qt/element/QtCodeArea.cpp b/src/lib_gui/qt/element/QtCodeArea.cpp index 35f25593..b278645d 100644 --- a/src/lib_gui/qt/element/QtCodeArea.cpp +++ b/src/lib_gui/qt/element/QtCodeArea.cpp @@ -149,6 +149,7 @@ void QtCodeArea::lineNumberAreaPaintEvent(QPaintEvent *event) std::set focusedLineNumbers; std::set activeSymbolIds = m_navigator->getActiveTokenIds(); + std::set activeLocationIds = m_navigator->getCurrentActiveLocationIds(); for (const Annotation& annotation : m_annotations) { @@ -178,9 +179,15 @@ void QtCodeArea::lineNumberAreaPaintEvent(QPaintEvent *event) case LOCATION_TOKEN: case LOCATION_SCOPE: - if (annotation.isFocused && utility::shareElement(activeSymbolIds, annotation.tokenIds)) + if (annotation.isActive && activeLocationIds.size()) + { + focus = true; + break; + } + else if (annotation.isFocused && utility::shareElement(activeSymbolIds, annotation.tokenIds)) { active = true; + break; } default: