logic: Made history menu use on Messages instead of SearchMatch

* Common base class MessageActivateBase for activation messages with getter for SearchMatches
* Removed duplicate logic for creating SearchMatches from Messages
* Fixed can't reactivate fulltext search from history menu
* Renamed history message and moved to sub directory
* Fixed activating node type filters didn't clear code view
This commit is contained in:
Eberhard Graether
2018-07-03 15:11:52 +02:00
parent 0519fd1462
commit c8a885be83
40 changed files with 427 additions and 472 deletions
@@ -11,6 +11,7 @@
#include "utility/messaging/type/MessageRefresh.h"
#include "utility/messaging/type/MessageStatus.h"
#include "utility/messaging/type/MessageScrollToLine.h"
#include "utility/utility.h"
ActivationController::ActivationController(StorageAccess* storageAccess)
: m_storageAccess(storageAccess)
@@ -152,22 +153,15 @@ void ActivationController::handleMessage(MessageSearch* message)
}
MessageActivateTokens m(message);
m.isFromSearch = message->isFromSearch;
if (message->isFromSearch)
m.isFromSearch = true;
for (const SearchMatch& match : matches)
{
m.tokenIds = message->getTokenIdsOfMatches();
m.searchMatches = matches;
if (match.tokenIds.size() && match.tokenIds[0] != 0)
{
utility::append(m.tokenIds, match.tokenIds);
m.searchMatches.push_back(match);
}
}
else
{
std::pair<std::vector<Id>, std::vector<SearchMatch>> ret =
m_storageAccess->getNodeIdsAndSearchMatchesForNameHierarchies(message->getTokenNamesOfMatches());
m.tokenIds = ret.first;
m.searchMatches = ret.second;
}
m.dispatchImmediately();
}