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/MessageAutoRefreshChanged.h
utility/messaging/type/MessageChangeFileView.h
utility/messaging/type/MessageClearErrorCount.h
utility/messaging/type/MessageDeactivateEdge.h
utility/messaging/type/MessageFind.h
utility/messaging/type/MessageFinishedParsing.h
@@ -17,6 +17,16 @@ StatusBarView* StatusBarController::getView()
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)
{
if (message->errorCount >= 0)
@@ -6,6 +6,8 @@
#include "component/controller/Controller.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/MessageStatus.h"
@@ -13,6 +15,8 @@ class StatusBarView;
class StatusBarController
: public Controller
, public MessageListener<MessageClearErrorCount>
, public MessageListener<MessageFinishedParsing>
, public MessageListener<MessageShowErrors>
, public MessageListener<MessageStatus>
{
@@ -23,6 +27,8 @@ public:
StatusBarView* getView();
private:
virtual void handleMessage(MessageClearErrorCount* message);
virtual void handleMessage(MessageFinishedParsing* message);
virtual void handleMessage(MessageShowErrors* message);
virtual void handleMessage(MessageStatus* message);
@@ -200,17 +200,6 @@ void UndoRedoController::handleMessage(MessageSearch* message)
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)
{
Command command(std::make_shared<MessageShowScope>(*message), 1);
@@ -18,7 +18,6 @@
#include "utility/messaging/type/MessageRedo.h"
#include "utility/messaging/type/MessageRefresh.h"
#include "utility/messaging/type/MessageSearch.h"
#include "utility/messaging/type/MessageShowErrors.h"
#include "utility/messaging/type/MessageShowScope.h"
#include "utility/messaging/type/MessageUndo.h"
@@ -43,7 +42,6 @@ class UndoRedoController
, public MessageListener<MessageRedo>
, public MessageListener<MessageRefresh>
, public MessageListener<MessageSearch>
, public MessageListener<MessageShowErrors>
, public MessageListener<MessageShowScope>
, public MessageListener<MessageUndo>
{
@@ -75,7 +73,6 @@ private:
virtual void handleMessage(MessageRedo* message);
virtual void handleMessage(MessageRefresh* message);
virtual void handleMessage(MessageSearch* message);
virtual void handleMessage(MessageShowErrors* message);
virtual void handleMessage(MessageShowScope* message);
virtual void handleMessage(MessageUndo* message);
+2 -3
View File
@@ -5,6 +5,7 @@
#include "utility/file/FileSystem.h"
#include "utility/logging/logging.h"
#include "utility/messaging/type/MessageClearErrorCount.h"
#include "utility/messaging/type/MessageShowErrors.h"
#include "utility/TimePoint.h"
#include "utility/utility.h"
@@ -165,9 +166,7 @@ void Storage::logStats() const
void Storage::startParsing()
{
MessageShowErrors msg(getErrorCount());
msg.setSendAsTask(false);
msg.dispatch();
MessageClearErrorCount().dispatch();
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 "qt/utility/utilityQt.h"
#include "utility/messaging/type/MessageShowErrors.h"
#include "utility/messaging/type/MessageSearch.h"
#include "utility/ResourcePaths.h"
QtStatusBar::QtStatusBar()
@@ -78,5 +78,6 @@ void QtStatusBar::setErrorCount(size_t count)
void QtStatusBar::showErrors()
{
MessageShowErrors(-1).dispatch();
SearchMatch match = SearchMatch::createCommand(SearchMatch::COMMAND_ERROR);
MessageSearch(std::vector<SearchMatch>(1, match)).dispatch();
}