logic: allow the user to discard an aborted indexer run

* keep old database on filesystem while indexing
* migrate old ".coatiproject" settings to new ".srctrlprj" extension when loading project
* send new errors in MessageErrorCountUpdate after injecting
* recheck filepath exist() in FileSystem's remove, rename, copy and create functions
* updated tasks to new "override" policy
This commit is contained in:
mlangkabel
2018-07-03 18:54:53 +02:00
parent c8a885be83
commit a1dd1a77c9
41 changed files with 434 additions and 215 deletions
@@ -21,6 +21,15 @@ class MessageFilterErrorCountUpdate
{
if ((*it)->getType() == MessageErrorCountUpdate::getStaticType())
{
MessageErrorCountUpdate* frontErrorsMessage = dynamic_cast<MessageErrorCountUpdate*>(message);
MessageErrorCountUpdate* backErrorsMessage = dynamic_cast<MessageErrorCountUpdate*>(it->get());
backErrorsMessage->newErrors.insert(
backErrorsMessage->newErrors.begin(),
frontErrorsMessage->newErrors.begin(),
frontErrorsMessage->newErrors.end()
);
messageBuffer->pop_front();
return;
}
@@ -14,13 +14,20 @@ public:
return "MessageErrorCountUpdate";
}
MessageErrorCountUpdate(const ErrorCountInfo& errorCount)
MessageErrorCountUpdate(const ErrorCountInfo& errorCount, const std::vector<ErrorInfo>& newErrors)
: errorCount(errorCount)
, newErrors(newErrors)
{
setSendAsTask(false);
}
virtual void print(std::wostream& os) const
{
os << errorCount.total << '/' << errorCount.fatal << L" - " << newErrors.size() << L" new errors";
}
const ErrorCountInfo errorCount;
std::vector<ErrorInfo> newErrors;
};
#endif // MESSAGE_ERROR_COUNT_UPDATE_H