diff --git a/src/lib/component/controller/StatusBarController.cpp b/src/lib/component/controller/StatusBarController.cpp index cadcba3e..e8ac1380 100644 --- a/src/lib/component/controller/StatusBarController.cpp +++ b/src/lib/component/controller/StatusBarController.cpp @@ -17,9 +17,12 @@ StatusBarView* StatusBarController::getView() return Controller::getView(); } -void StatusBarController::handleMessage(MessageFinishedParsing* message) +void StatusBarController::handleMessage(MessageShowErrors* message) { - getView()->setErrorCount(message->errorCount); + if (message->errorCount >= 0) + { + getView()->setErrorCount(message->errorCount); + } } void StatusBarController::handleMessage(MessageStatus* message) diff --git a/src/lib/component/controller/StatusBarController.h b/src/lib/component/controller/StatusBarController.h index 5025ba5d..4d24a9c8 100644 --- a/src/lib/component/controller/StatusBarController.h +++ b/src/lib/component/controller/StatusBarController.h @@ -6,14 +6,14 @@ #include "component/controller/Controller.h" #include "utility/messaging/MessageListener.h" -#include "utility/messaging/type/MessageFinishedParsing.h" +#include "utility/messaging/type/MessageShowErrors.h" #include "utility/messaging/type/MessageStatus.h" class StatusBarView; class StatusBarController : public Controller - , public MessageListener + , public MessageListener , public MessageListener { public: @@ -23,7 +23,7 @@ public: StatusBarView* getView(); private: - virtual void handleMessage(MessageFinishedParsing* message); + virtual void handleMessage(MessageShowErrors* message); virtual void handleMessage(MessageStatus* message); void setStatus(const std::string& status, bool isError, bool showLoader); diff --git a/src/lib/component/controller/helper/ActivationTranslator.cpp b/src/lib/component/controller/helper/ActivationTranslator.cpp index 0c5d2547..daf40f63 100644 --- a/src/lib/component/controller/helper/ActivationTranslator.cpp +++ b/src/lib/component/controller/helper/ActivationTranslator.cpp @@ -134,7 +134,7 @@ std::shared_ptr ActivationTranslator::translateMessage(co else if (match.searchType == SearchMatch::SEARCH_COMMAND && match.getFullName() == SearchMatch::getCommandName(SearchMatch::COMMAND_ERROR)) { - MessageShowErrors msg; + MessageShowErrors msg(-1); msg.undoRedoType = message->undoRedoType; msg.dispatchImmediately(); return nullptr; diff --git a/src/lib/data/Storage.cpp b/src/lib/data/Storage.cpp index 2f511233..27c46190 100644 --- a/src/lib/data/Storage.cpp +++ b/src/lib/data/Storage.cpp @@ -165,6 +165,10 @@ void Storage::logStats() const void Storage::startParsing() { + MessageShowErrors msg(getErrorCount()); + msg.setSendAsTask(false); + msg.dispatch(); + m_sqliteStorage.setVersion(Version::getApplicationVersion()); } @@ -199,7 +203,7 @@ void Storage::onError(const ParseLocation& location, const std::string& message) if (errorCount != getErrorCount()) { - MessageShowErrors msg; + MessageShowErrors msg(getErrorCount()); msg.setSendAsTask(false); msg.dispatch(); } diff --git a/src/lib/utility/messaging/type/MessageShowErrors.h b/src/lib/utility/messaging/type/MessageShowErrors.h index 2761f374..e06e192a 100644 --- a/src/lib/utility/messaging/type/MessageShowErrors.h +++ b/src/lib/utility/messaging/type/MessageShowErrors.h @@ -7,7 +7,8 @@ class MessageShowErrors : public Message { public: - MessageShowErrors() + MessageShowErrors(int errorCount) + : errorCount(errorCount) { } @@ -15,6 +16,8 @@ public: { return "MessageShowErrors"; } + + int errorCount; }; #endif // MESSAGE_SHOW_ERRORS_H diff --git a/src/lib_gui/qt/element/QtStatusBar.cpp b/src/lib_gui/qt/element/QtStatusBar.cpp index 9a073916..37b5d6e3 100644 --- a/src/lib_gui/qt/element/QtStatusBar.cpp +++ b/src/lib_gui/qt/element/QtStatusBar.cpp @@ -78,5 +78,5 @@ void QtStatusBar::setErrorCount(size_t count) void QtStatusBar::showErrors() { - MessageShowErrors().dispatch(); + MessageShowErrors(-1).dispatch(); }