ui: Clearing error count when parsing starts

* fixed undo showed errors twice when activated from status bar.
This commit is contained in:
Eberhard Graether
2016-01-28 14:30:52 +01:00
parent 635f6058c6
commit 7bd44a9f45
8 changed files with 43 additions and 19 deletions
+1
View File
@@ -221,6 +221,7 @@ add_files(
utility/messaging/type/MessageActivateWindow.h utility/messaging/type/MessageActivateWindow.h
utility/messaging/type/MessageAutoRefreshChanged.h utility/messaging/type/MessageAutoRefreshChanged.h
utility/messaging/type/MessageChangeFileView.h utility/messaging/type/MessageChangeFileView.h
utility/messaging/type/MessageClearErrorCount.h
utility/messaging/type/MessageDeactivateEdge.h utility/messaging/type/MessageDeactivateEdge.h
utility/messaging/type/MessageFind.h utility/messaging/type/MessageFind.h
utility/messaging/type/MessageFinishedParsing.h utility/messaging/type/MessageFinishedParsing.h
@@ -17,6 +17,16 @@ StatusBarView* StatusBarController::getView()
return Controller::getView<StatusBarView>(); return Controller::getView<StatusBarView>();
} }
void StatusBarController::handleMessage(MessageClearErrorCount* message)
{
getView()->setErrorCount(0);
}
void StatusBarController::handleMessage(MessageFinishedParsing* message)
{
getView()->setErrorCount(message->errorCount);
}
void StatusBarController::handleMessage(MessageShowErrors* message) void StatusBarController::handleMessage(MessageShowErrors* message)
{ {
if (message->errorCount >= 0) if (message->errorCount >= 0)
@@ -6,6 +6,8 @@
#include "component/controller/Controller.h" #include "component/controller/Controller.h"
#include "utility/messaging/MessageListener.h" #include "utility/messaging/MessageListener.h"
#include "utility/messaging/type/MessageClearErrorCount.h"
#include "utility/messaging/type/MessageFinishedParsing.h"
#include "utility/messaging/type/MessageShowErrors.h" #include "utility/messaging/type/MessageShowErrors.h"
#include "utility/messaging/type/MessageStatus.h" #include "utility/messaging/type/MessageStatus.h"
@@ -13,6 +15,8 @@ class StatusBarView;
class StatusBarController class StatusBarController
: public Controller : public Controller
, public MessageListener<MessageClearErrorCount>
, public MessageListener<MessageFinishedParsing>
, public MessageListener<MessageShowErrors> , public MessageListener<MessageShowErrors>
, public MessageListener<MessageStatus> , public MessageListener<MessageStatus>
{ {
@@ -23,6 +27,8 @@ public:
StatusBarView* getView(); StatusBarView* getView();
private: private:
virtual void handleMessage(MessageClearErrorCount* message);
virtual void handleMessage(MessageFinishedParsing* message);
virtual void handleMessage(MessageShowErrors* message); virtual void handleMessage(MessageShowErrors* message);
virtual void handleMessage(MessageStatus* message); virtual void handleMessage(MessageStatus* message);
@@ -200,17 +200,6 @@ void UndoRedoController::handleMessage(MessageSearch* message)
processCommand(command); processCommand(command);
} }
void UndoRedoController::handleMessage(MessageShowErrors* message)
{
if (m_lastCommand.message && m_lastCommand.message->getType() == message->getType())
{
return;
}
Command command(std::make_shared<MessageShowErrors>(*message), 0);
processCommand(command);
}
void UndoRedoController::handleMessage(MessageShowScope* message) void UndoRedoController::handleMessage(MessageShowScope* message)
{ {
Command command(std::make_shared<MessageShowScope>(*message), 1); Command command(std::make_shared<MessageShowScope>(*message), 1);
@@ -18,7 +18,6 @@
#include "utility/messaging/type/MessageRedo.h" #include "utility/messaging/type/MessageRedo.h"
#include "utility/messaging/type/MessageRefresh.h" #include "utility/messaging/type/MessageRefresh.h"
#include "utility/messaging/type/MessageSearch.h" #include "utility/messaging/type/MessageSearch.h"
#include "utility/messaging/type/MessageShowErrors.h"
#include "utility/messaging/type/MessageShowScope.h" #include "utility/messaging/type/MessageShowScope.h"
#include "utility/messaging/type/MessageUndo.h" #include "utility/messaging/type/MessageUndo.h"
@@ -43,7 +42,6 @@ class UndoRedoController
, public MessageListener<MessageRedo> , public MessageListener<MessageRedo>
, public MessageListener<MessageRefresh> , public MessageListener<MessageRefresh>
, public MessageListener<MessageSearch> , public MessageListener<MessageSearch>
, public MessageListener<MessageShowErrors>
, public MessageListener<MessageShowScope> , public MessageListener<MessageShowScope>
, public MessageListener<MessageUndo> , public MessageListener<MessageUndo>
{ {
@@ -75,7 +73,6 @@ private:
virtual void handleMessage(MessageRedo* message); virtual void handleMessage(MessageRedo* message);
virtual void handleMessage(MessageRefresh* message); virtual void handleMessage(MessageRefresh* message);
virtual void handleMessage(MessageSearch* message); virtual void handleMessage(MessageSearch* message);
virtual void handleMessage(MessageShowErrors* message);
virtual void handleMessage(MessageShowScope* message); virtual void handleMessage(MessageShowScope* message);
virtual void handleMessage(MessageUndo* message); virtual void handleMessage(MessageUndo* message);
+2 -3
View File
@@ -5,6 +5,7 @@
#include "utility/file/FileSystem.h" #include "utility/file/FileSystem.h"
#include "utility/logging/logging.h" #include "utility/logging/logging.h"
#include "utility/messaging/type/MessageClearErrorCount.h"
#include "utility/messaging/type/MessageShowErrors.h" #include "utility/messaging/type/MessageShowErrors.h"
#include "utility/TimePoint.h" #include "utility/TimePoint.h"
#include "utility/utility.h" #include "utility/utility.h"
@@ -165,9 +166,7 @@ void Storage::logStats() const
void Storage::startParsing() void Storage::startParsing()
{ {
MessageShowErrors msg(getErrorCount()); MessageClearErrorCount().dispatch();
msg.setSendAsTask(false);
msg.dispatch();
m_sqliteStorage.setVersion(Version::getApplicationVersion()); m_sqliteStorage.setVersion(Version::getApplicationVersion());
} }
@@ -0,0 +1,21 @@
#ifndef MESSAGE_CLEAR_ERROR_COUNT_H
#define MESSAGE_CLEAR_ERROR_COUNT_H
#include "utility/messaging/Message.h"
class MessageClearErrorCount
: public Message<MessageClearErrorCount>
{
public:
MessageClearErrorCount()
{
setSendAsTask(false);
}
static const std::string getStaticType()
{
return "MessageClearErrorCount";
}
};
#endif // MESSAGE_CLEAR_ERROR_COUNT_H
+3 -2
View File
@@ -3,7 +3,7 @@
#include <QMovie> #include <QMovie>
#include "qt/utility/utilityQt.h" #include "qt/utility/utilityQt.h"
#include "utility/messaging/type/MessageShowErrors.h" #include "utility/messaging/type/MessageSearch.h"
#include "utility/ResourcePaths.h" #include "utility/ResourcePaths.h"
QtStatusBar::QtStatusBar() QtStatusBar::QtStatusBar()
@@ -78,5 +78,6 @@ void QtStatusBar::setErrorCount(size_t count)
void QtStatusBar::showErrors() void QtStatusBar::showErrors()
{ {
MessageShowErrors(-1).dispatch(); SearchMatch match = SearchMatch::createCommand(SearchMatch::COMMAND_ERROR);
MessageSearch(std::vector<SearchMatch>(1, match)).dispatch();
} }