From 684699ace94785828206d3eba7d5dcc89fd59b0e Mon Sep 17 00:00:00 2001 From: Eberhard Graether Date: Fri, 19 Oct 2018 21:26:47 +0200 Subject: [PATCH] ui: Fixed undo to now undefined node didn't display it undefined --- src/lib/component/controller/UndoRedoController.cpp | 13 ++++++++++++- src/lib/data/search/SearchMatch.cpp | 4 ++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/lib/component/controller/UndoRedoController.cpp b/src/lib/component/controller/UndoRedoController.cpp index 798a04e1..92aba497 100644 --- a/src/lib/component/controller/UndoRedoController.cpp +++ b/src/lib/component/controller/UndoRedoController.cpp @@ -481,9 +481,20 @@ void UndoRedoController::replayCommand(std::list::iterator it) if (!msg->isEdge && !msg->isAggregation) { - for (SearchMatch& match : msg->getSearchMatches()) + std::vector matches = msg->getSearchMatches(); + msg->searchMatches.clear(); + msg->tokenIds.clear(); + + for (SearchMatch match : matches) { match.tokenIds = m_storageAccess->getNodeIdsForNameHierarchies(match.tokenNames); + if (!match.tokenIds.size()) + { + match.nodeType = NodeType::NODE_SYMBOL; + } + + utility::append(msg->tokenIds, match.tokenIds); + msg->searchMatches.push_back(match); } } } diff --git a/src/lib/data/search/SearchMatch.cpp b/src/lib/data/search/SearchMatch.cpp index 1624ef64..1ebd1959 100644 --- a/src/lib/data/search/SearchMatch.cpp +++ b/src/lib/data/search/SearchMatch.cpp @@ -39,9 +39,9 @@ std::wstring SearchMatch::searchMatchesToString(const std::vector& { std::wstringstream ss; - for (size_t i = 0; i < matches.size(); i++) + for (const SearchMatch& match : matches) { - ss << L'@' << matches[i].getFullName(); + ss << L'@' << match.getFullName() << L':' << NodeType::getReadableTypeWString(match.nodeType.getType()) << L' '; } return ss.str();