logic: Split MessageRefresh into index and UI

This commit is contained in:
Eberhard Graether
2018-10-28 12:11:53 +01:00
parent 27627b6d05
commit e2dd26ee5a
15 changed files with 116 additions and 108 deletions
+10 -8
View File
@@ -220,7 +220,7 @@ void Application::handleMessage(MessageIndexingFinished* message)
if (m_hasGUI)
{
MessageRefresh().refreshUiOnly().dispatch();
MessageRefreshUI().dispatch();
}
else
{
@@ -313,7 +313,14 @@ void Application::handleMessage(MessageRefresh* message)
{
TRACE("app refresh");
if (m_hasGUI && message->uiOnly)
refreshProject(message->all ? REFRESH_ALL_FILES : REFRESH_UPDATED_FILES);
}
void Application::handleMessage(MessageRefreshUI* message)
{
TRACE("ui refresh");
if (m_hasGUI)
{
if (message->loadStyle)
{
@@ -323,11 +330,6 @@ void Application::handleMessage(MessageRefresh* message)
m_mainView->refreshView();
m_componentManager->refreshViews();
}
if (!message->uiOnly)
{
refreshProject(message->all ? REFRESH_ALL_FILES : REFRESH_UPDATED_FILES);
}
}
void Application::handleMessage(MessageSwitchColorScheme* message)
@@ -335,7 +337,7 @@ void Application::handleMessage(MessageSwitchColorScheme* message)
MessageStatus(L"Switch color scheme: " + message->colorSchemePath.wstr()).dispatch();
loadStyle(message->colorSchemePath);
MessageRefresh().refreshUiOnly().noReloadStyle().dispatch();
MessageRefreshUI().noStyleReload().dispatch();
}
void Application::handleMessage(MessageWindowFocus* message)
+11 -8
View File
@@ -11,6 +11,7 @@
#include "MessageEnteredLicense.h"
#include "MessageLoadProject.h"
#include "MessageRefresh.h"
#include "MessageRefreshUI.h"
#include "MessageSwitchColorScheme.h"
#include "MessageWindowFocus.h"
@@ -30,6 +31,7 @@ class Application
, public MessageListener<MessageIndexingFinished>
, public MessageListener<MessageLoadProject>
, public MessageListener<MessageRefresh>
, public MessageListener<MessageRefreshUI>
, public MessageListener<MessageSwitchColorScheme>
, public MessageListener<MessageWindowFocus>
{
@@ -62,15 +64,16 @@ private:
static std::shared_ptr<Application> s_instance;
static std::string s_uuid;
Application(bool withGUI=true);
Application(bool withGUI = true);
virtual void handleMessage(MessageActivateWindow* message);
virtual void handleMessage(MessageEnteredLicense* message);
virtual void handleMessage(MessageIndexingFinished* message);
virtual void handleMessage(MessageLoadProject* message);
virtual void handleMessage(MessageRefresh* message);
virtual void handleMessage(MessageSwitchColorScheme* message);
virtual void handleMessage(MessageWindowFocus* message);
void handleMessage(MessageActivateWindow* message) override;
void handleMessage(MessageEnteredLicense* message) override;
void handleMessage(MessageIndexingFinished* message) override;
void handleMessage(MessageLoadProject* message) override;
void handleMessage(MessageRefresh* message) override;
void handleMessage(MessageRefreshUI* message) override;
void handleMessage(MessageSwitchColorScheme* message) override;
void handleMessage(MessageWindowFocus* message) override;
FilePath migrateProjectSettings(const FilePath& projectSettingsFilePath) const;
void startMessagingAndScheduling();
+1
View File
@@ -485,6 +485,7 @@ add_files(
utility/messaging/type/MessageProjectNew.h
utility/messaging/type/MessageQuitApplication.h
utility/messaging/type/MessageRefresh.h
utility/messaging/type/MessageRefreshUI.h
utility/messaging/type/MessageResetZoom.h
utility/messaging/type/MessageScrollCode.h
utility/messaging/type/MessageScrollGraph.h
@@ -9,7 +9,7 @@
#include "MessageActivateTokens.h"
#include "MessageChangeFileView.h"
#include "MessageFlushUpdates.h"
#include "MessageRefresh.h"
#include "MessageRefreshUI.h"
#include "MessageStatus.h"
#include "MessageScrollToLine.h"
#include "utility.h"
@@ -123,10 +123,9 @@ void ActivationController::handleMessage(MessageResetZoom* message)
settings->setFontSize(fontSizeStd);
settings->save();
MessageRefresh().refreshUiOnly().dispatch();
MessageRefreshUI().dispatch();
}
MessageStatus(L"Font size: " + std::to_wstring(fontSizeStd)).dispatch();
}
@@ -192,6 +191,5 @@ void ActivationController::handleMessage(MessageZoom* message)
settings->save();
MessageStatus(L"Font size: " + std::to_wstring(settings->getFontSize())).dispatch();
MessageRefresh().refreshUiOnly().dispatch();
MessageRefreshUI().dispatch();
}
@@ -71,11 +71,6 @@ void StatusBarController::handleMessage(MessagePingReceived* message)
void StatusBarController::handleMessage(MessageRefresh* message)
{
if (message->uiOnly)
{
return;
}
getView()->setErrorCount(m_storageAccess->getErrorCount());
}
@@ -35,17 +35,17 @@ public:
StatusBarView* getView();
virtual void clear();
void clear() override;
private:
virtual void handleMessage(MessageErrorCountClear* message);
virtual void handleMessage(MessageErrorCountUpdate* message);
virtual void handleMessage(MessageIndexingFinished* message);
virtual void handleMessage(MessageIndexingStarted* message);
virtual void handleMessage(MessageIndexingStatus* message);
virtual void handleMessage(MessagePingReceived* message);
virtual void handleMessage(MessageRefresh* message);
virtual void handleMessage(MessageStatus* message);
void handleMessage(MessageErrorCountClear* message) override;
void handleMessage(MessageErrorCountUpdate* message) override;
void handleMessage(MessageIndexingFinished* message) override;
void handleMessage(MessageIndexingStarted* message) override;
void handleMessage(MessageIndexingStatus* message) override;
void handleMessage(MessagePingReceived* message) override;
void handleMessage(MessageRefresh* message) override;
void handleMessage(MessageStatus* message) override;
void setStatus(const std::wstring& status, bool isError, bool showLoader);
@@ -355,13 +355,8 @@ void UndoRedoController::handleMessage(MessageIndexingFinished* message)
m_iterator = m_list.end();
}
void UndoRedoController::handleMessage(MessageRefresh* message)
void UndoRedoController::handleMessage(MessageRefreshUI* message)
{
if (!message->uiOnly)
{
return;
}
if (m_iterator == m_list.begin())
{
MessageActivateAll().dispatch();
@@ -25,7 +25,7 @@
#include "MessageGraphNodeExpand.h"
#include "MessageGraphNodeHide.h"
#include "MessageGraphNodeMove.h"
#include "MessageRefresh.h"
#include "MessageRefreshUI.h"
#include "MessageScrollCode.h"
#include "MessageScrollGraph.h"
#include "MessageShowReference.h"
@@ -57,7 +57,7 @@ class UndoRedoController
, public MessageListener<MessageHistoryToPosition>
, public MessageListener<MessageHistoryUndo>
, public MessageListener<MessageIndexingFinished>
, public MessageListener<MessageRefresh>
, public MessageListener<MessageRefreshUI>
, public MessageListener<MessageScrollCode>
, public MessageListener<MessageScrollGraph>
, public MessageListener<MessageShowError>
@@ -70,7 +70,7 @@ public:
UndoRedoView* getView();
virtual void clear();
void clear() override;
private:
struct Command
@@ -89,31 +89,31 @@ private:
bool replayLastOnly;
};
virtual void handleMessage(MessageActivateAll* message);
virtual void handleMessage(MessageActivateErrors* message);
virtual void handleMessage(MessageActivateFullTextSearch* message);
virtual void handleMessage(MessageActivateLegend* message);
virtual void handleMessage(MessageActivateLocalSymbols* message);
virtual void handleMessage(MessageActivateTokens* message);
virtual void handleMessage(MessageActivateTrail* message);
virtual void handleMessage(MessageActivateTrailEdge* message);
virtual void handleMessage(MessageChangeFileView* message);
virtual void handleMessage(MessageCodeShowDefinition* message);
virtual void handleMessage(MessageDeactivateEdge* message);
virtual void handleMessage(MessageGraphNodeBundleSplit* message);
virtual void handleMessage(MessageGraphNodeExpand* message);
virtual void handleMessage(MessageGraphNodeHide* message);
virtual void handleMessage(MessageGraphNodeMove* message);
virtual void handleMessage(MessageHistoryRedo* message);
virtual void handleMessage(MessageHistoryToPosition* message);
virtual void handleMessage(MessageHistoryUndo* message);
virtual void handleMessage(MessageIndexingFinished* message);
virtual void handleMessage(MessageRefresh* message);
virtual void handleMessage(MessageScrollCode* message);
virtual void handleMessage(MessageScrollGraph* message);
virtual void handleMessage(MessageShowError* message);
virtual void handleMessage(MessageShowReference* message);
virtual void handleMessage(MessageShowScope* message);
void handleMessage(MessageActivateAll* message) override;
void handleMessage(MessageActivateErrors* message) override;
void handleMessage(MessageActivateFullTextSearch* message) override;
void handleMessage(MessageActivateLegend* message) override;
void handleMessage(MessageActivateLocalSymbols* message) override;
void handleMessage(MessageActivateTokens* message) override;
void handleMessage(MessageActivateTrail* message) override;
void handleMessage(MessageActivateTrailEdge* message) override;
void handleMessage(MessageChangeFileView* message) override;
void handleMessage(MessageCodeShowDefinition* message) override;
void handleMessage(MessageDeactivateEdge* message) override;
void handleMessage(MessageGraphNodeBundleSplit* message) override;
void handleMessage(MessageGraphNodeExpand* message) override;
void handleMessage(MessageGraphNodeHide* message) override;
void handleMessage(MessageGraphNodeMove* message) override;
void handleMessage(MessageHistoryRedo* message) override;
void handleMessage(MessageHistoryToPosition* message) override;
void handleMessage(MessageHistoryUndo* message) override;
void handleMessage(MessageIndexingFinished* message) override;
void handleMessage(MessageRefreshUI* message) override;
void handleMessage(MessageScrollCode* message) override;
void handleMessage(MessageScrollGraph* message) override;
void handleMessage(MessageShowError* message) override;
void handleMessage(MessageShowReference* message) override;
void handleMessage(MessageShowScope* message) override;
void replayCommands();
void replayCommands(std::list<Command>::iterator it);
@@ -7,22 +7,14 @@ class MessageRefresh
: public Message<MessageRefresh>
{
public:
MessageRefresh()
: uiOnly(false)
, all(false)
, loadStyle(true)
{
}
static const std::string getStaticType()
{
return "MessageRefresh";
}
MessageRefresh& refreshUiOnly()
MessageRefresh()
: all(false)
{
uiOnly = true;
return *this;
}
MessageRefresh& refreshAll()
@@ -31,28 +23,15 @@ public:
return *this;
}
MessageRefresh& noReloadStyle()
void print(std::wostream& os) const override
{
loadStyle = false;
return *this;
}
virtual void print(std::wostream& os) const
{
if (uiOnly)
{
os << "ui ";
}
if (all)
{
os << "all";
}
}
bool uiOnly;
bool all;
bool loadStyle;
};
#endif // MESSAGE_REFRESH_H
@@ -0,0 +1,37 @@
#ifndef MESSAGE_REFRESH_UI_H
#define MESSAGE_REFRESH_UI_H
#include "Message.h"
class MessageRefreshUI
: public Message<MessageRefreshUI>
{
public:
static const std::string getStaticType()
{
return "MessageRefreshUI";
}
MessageRefreshUI()
: loadStyle(true)
{
}
MessageRefreshUI& noStyleReload()
{
loadStyle = false;
return *this;
}
void print(std::wostream& os) const override
{
if (loadStyle)
{
os << "reload style";
}
}
bool loadStyle;
};
#endif // MESSAGE_REFRESH_UI_H
+4 -7
View File
@@ -102,15 +102,12 @@ void QtSelfRefreshIconButton::setIconPath(const FilePath& iconPath)
}
}
void QtSelfRefreshIconButton::handleMessage(MessageRefresh* message)
void QtSelfRefreshIconButton::handleMessage(MessageRefreshUI* message)
{
if (message->uiOnly)
m_onQtThread([this]()
{
m_onQtThread([this]()
{
refresh();
});
}
refresh();
});
}
void QtSelfRefreshIconButton::refresh()
+3 -3
View File
@@ -5,7 +5,7 @@
#include "FilePath.h"
#include "MessageListener.h"
#include "MessageRefresh.h"
#include "MessageRefreshUI.h"
#include "QtThreadedFunctor.h"
@@ -53,7 +53,7 @@ private:
class QtSelfRefreshIconButton
: public QPushButton
, public MessageListener<MessageRefresh>
, public MessageListener<MessageRefreshUI>
{
public:
QtSelfRefreshIconButton(
@@ -63,7 +63,7 @@ public:
void setIconPath(const FilePath& iconPath);
protected:
void handleMessage(MessageRefresh* message);
void handleMessage(MessageRefreshUI* message) override;
virtual void refresh();
+2 -2
View File
@@ -15,7 +15,7 @@
#include "MessageActivateTrail.h"
#include "MessageDeactivateEdge.h"
#include "MessageRefresh.h"
#include "MessageRefreshUI.h"
#include "MessageScrollGraph.h"
#include "MessageStatus.h"
#include "ResourcePaths.h"
@@ -750,7 +750,7 @@ void QtGraphView::groupingUpdated(QPushButton* button)
appSettings->save();
}
MessageRefresh().refreshUiOnly().noReloadStyle().dispatch();
MessageRefreshUI().noStyleReload().dispatch();
}
void QtGraphView::performScroll(QScrollBar* scrollBar, int value) const
+2 -1
View File
@@ -43,6 +43,7 @@
#include "MessageInterruptTasks.h"
#include "MessageLoadProject.h"
#include "MessageRefresh.h"
#include "MessageRefreshUI.h"
#include "MessageResetZoom.h"
#include "MessageWindowClosed.h"
#include "MessageZoom.h"
@@ -412,7 +413,7 @@ void QtMainWindow::keyPressEvent(QKeyEvent* event)
case Qt::Key_R:
if (event->modifiers() & (Qt::ControlModifier | Qt::AltModifier))
{
MessageRefresh().refreshUiOnly().dispatch();
MessageRefreshUI().dispatch();
}
break;
@@ -2,7 +2,7 @@
#include "MessageLoadProject.h"
#include "MessagePluginPortChange.h"
#include "MessageRefresh.h"
#include "MessageRefreshUI.h"
#include "MessageScrollSpeedChange.h"
#include "Application.h"
@@ -108,7 +108,7 @@ void QtPreferencesWindow::handleNext()
}
else
{
MessageRefresh().refreshUiOnly().dispatch();
MessageRefreshUI().dispatch();
}
QtWindow::handleClose();