logic: Use ControllerProxy in Bookmarking UI classes instead of messaging
* changed ControllerProxy to template class * allow passing method pointers and arguments to ControllerProxy * replaced some messages with ControllerProxy calls * moved logic from BookmarkView into BookmarkController
This commit is contained in:
@@ -6,15 +6,12 @@
|
||||
#include <QTimer>
|
||||
#include <QVBoxLayout>
|
||||
|
||||
#include "utility/messaging/type/MessageActivateBookmark.h"
|
||||
#include "utility/messaging/type/MessageDeleteBookmark.h"
|
||||
#include "utility/messaging/type/MessageDisplayBookmarkEditor.h"
|
||||
#include "qt/utility/utilityQt.h"
|
||||
#include "utility/ResourcePaths.h"
|
||||
|
||||
#include "qt/utility/utilityQt.h"
|
||||
|
||||
QtBookmark::QtBookmark()
|
||||
: m_treeWidgetItem(NULL)
|
||||
QtBookmark::QtBookmark(ControllerProxy<BookmarkController>* controllerProxy)
|
||||
: m_controllerProxy(controllerProxy)
|
||||
, m_treeWidgetItem(NULL)
|
||||
, m_arrowImageName("arrow_line_down.png")
|
||||
, m_hovered(false)
|
||||
, m_ignoreNextResize(false)
|
||||
@@ -202,12 +199,12 @@ void QtBookmark::leaveEvent(QEvent *event)
|
||||
|
||||
void QtBookmark::activateClicked()
|
||||
{
|
||||
MessageActivateBookmark(m_bookmark).dispatch();
|
||||
m_controllerProxy->executeAsTaskWithArgs(&BookmarkController::activateBookmark, m_bookmark);
|
||||
}
|
||||
|
||||
void QtBookmark::editClicked()
|
||||
{
|
||||
MessageDisplayBookmarkEditor(m_bookmark).dispatch();
|
||||
m_controllerProxy->executeAsTaskWithArgs(&BookmarkController::showBookmarkEditor, m_bookmark);
|
||||
}
|
||||
|
||||
void QtBookmark::deleteClicked()
|
||||
@@ -222,7 +219,7 @@ void QtBookmark::deleteClicked()
|
||||
|
||||
if (ret == 0) // QMessageBox::Yes)
|
||||
{
|
||||
MessageDeleteBookmark(m_bookmark->getId()).dispatch();
|
||||
m_controllerProxy->executeAsTaskWithArgs(&BookmarkController::deleteBookmark, m_bookmark->getId());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
#include <QPushButton>
|
||||
#include <QTreeWidget>
|
||||
|
||||
#include "component/controller/BookmarkController.h"
|
||||
#include "component/controller/helper/ControllerProxy.h"
|
||||
#include "data/bookmark/Bookmark.h"
|
||||
|
||||
class Bookmark;
|
||||
@@ -16,7 +18,7 @@ class QtBookmark
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
QtBookmark();
|
||||
QtBookmark(ControllerProxy<BookmarkController>* controllerProxy);
|
||||
virtual ~QtBookmark();
|
||||
|
||||
void setBookmark(const std::shared_ptr<Bookmark> bookmark);
|
||||
@@ -46,6 +48,8 @@ private:
|
||||
|
||||
std::string getDateString() const;
|
||||
|
||||
ControllerProxy<BookmarkController>* m_controllerProxy;
|
||||
|
||||
QPushButton* m_activateButton;
|
||||
QPushButton* m_editButton;
|
||||
QPushButton* m_deleteButton;
|
||||
|
||||
@@ -1,15 +1,17 @@
|
||||
#include "QtBookmarkCategory.h"
|
||||
|
||||
#include <QHBoxLayout>
|
||||
#include <QLabel>
|
||||
#include <QMessageBox>
|
||||
|
||||
#include "utility/messaging/type/MessageDeleteBookmarkCategory.h"
|
||||
#include "utility/ResourcePaths.h"
|
||||
#include <QPushButton>
|
||||
#include <QTreeWidget>
|
||||
|
||||
#include "qt/utility/utilityQt.h"
|
||||
#include "utility/ResourcePaths.h"
|
||||
|
||||
QtBookmarkCategory::QtBookmarkCategory()
|
||||
: m_id(0)
|
||||
QtBookmarkCategory::QtBookmarkCategory(ControllerProxy<BookmarkController>* controllerProxy)
|
||||
: m_controllerProxy(controllerProxy)
|
||||
, m_id(0)
|
||||
{
|
||||
setObjectName("bookmark_category");
|
||||
|
||||
@@ -125,6 +127,6 @@ void QtBookmarkCategory::deleteClicked()
|
||||
|
||||
if (ret == 0) // QMessageBox::Yes
|
||||
{
|
||||
MessageDeleteBookmarkCategory(m_id).dispatch();
|
||||
m_controllerProxy->executeAsTaskWithArgs(&BookmarkController::deleteBookmarkCategory, m_id);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,19 +2,22 @@
|
||||
#define QT_BOOKMARK_CATEGORY_H
|
||||
|
||||
#include <QFrame>
|
||||
#include <QLabel>
|
||||
#include <QPushButton>
|
||||
#include <QTreeWidget>
|
||||
|
||||
#include "component/controller/BookmarkController.h"
|
||||
#include "component/controller/helper/ControllerProxy.h"
|
||||
#include "utility/types.h"
|
||||
|
||||
class QLabel;
|
||||
class QPushButton;
|
||||
class QTreeWidgetItem;
|
||||
|
||||
class QtBookmarkCategory
|
||||
: public QFrame
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
QtBookmarkCategory();
|
||||
QtBookmarkCategory(ControllerProxy<BookmarkController>* controllerProxy);
|
||||
~QtBookmarkCategory();
|
||||
|
||||
void setName(const std::string& name);
|
||||
@@ -38,6 +41,8 @@ private slots:
|
||||
void deleteClicked();
|
||||
|
||||
private:
|
||||
ControllerProxy<BookmarkController>* m_controllerProxy;
|
||||
|
||||
QLabel* m_name;
|
||||
Id m_id;
|
||||
|
||||
|
||||
@@ -8,8 +8,6 @@
|
||||
#include <QPushButton>
|
||||
#include <QTimer>
|
||||
|
||||
#include "component/controller/helper/ControllerProxy.h"
|
||||
#include "component/controller/ScreenSearchController.h"
|
||||
#include "qt/utility/utilityQt.h"
|
||||
#include "utility/ResourcePaths.h"
|
||||
|
||||
@@ -30,7 +28,7 @@ bool QtFocusInFilter::eventFilter(QObject* obj, QEvent* event)
|
||||
}
|
||||
|
||||
|
||||
QtScreenSearchBox::QtScreenSearchBox(ControllerProxy* controllerProxy, QWidget* parent)
|
||||
QtScreenSearchBox::QtScreenSearchBox(ControllerProxy<ScreenSearchController>* controllerProxy, QWidget* parent)
|
||||
: QFrame(parent)
|
||||
, m_controllerProxy(controllerProxy)
|
||||
{
|
||||
@@ -195,7 +193,7 @@ void QtScreenSearchBox::searchQueryChanged()
|
||||
|
||||
void QtScreenSearchBox::findMatches()
|
||||
{
|
||||
m_controllerProxy->executeAsTask<ScreenSearchController>(
|
||||
m_controllerProxy->executeAsTask(
|
||||
[this](ScreenSearchController* controller)
|
||||
{
|
||||
std::set<std::string> responderNames;
|
||||
@@ -236,12 +234,7 @@ void QtScreenSearchBox::nextPressed()
|
||||
|
||||
void QtScreenSearchBox::activateMatch(bool next)
|
||||
{
|
||||
m_controllerProxy->executeAsTask<ScreenSearchController>(
|
||||
[next, this](ScreenSearchController* controller)
|
||||
{
|
||||
controller->activateMatch(next);
|
||||
}
|
||||
);
|
||||
m_controllerProxy->executeAsTaskWithArgs(&ScreenSearchController::activateMatch, next);
|
||||
}
|
||||
|
||||
void QtScreenSearchBox::updateMatchLabel()
|
||||
|
||||
@@ -3,7 +3,9 @@
|
||||
|
||||
#include <QFrame>
|
||||
|
||||
class ControllerProxy;
|
||||
#include "component/controller/helper/ControllerProxy.h"
|
||||
#include "component/controller/ScreenSearchController.h"
|
||||
|
||||
class QCheckBox;
|
||||
class QHBoxLayout;
|
||||
class QLineEdit;
|
||||
@@ -33,7 +35,7 @@ class QtScreenSearchBox
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
QtScreenSearchBox(ControllerProxy* controllerProxy, QWidget* parent = nullptr);
|
||||
QtScreenSearchBox(ControllerProxy<ScreenSearchController>* controllerProxy, QWidget* parent = nullptr);
|
||||
virtual ~QtScreenSearchBox();
|
||||
|
||||
void refreshStyle();
|
||||
@@ -62,7 +64,7 @@ private:
|
||||
|
||||
void updateMatchLabel();
|
||||
|
||||
ControllerProxy* m_controllerProxy;
|
||||
ControllerProxy<ScreenSearchController>* m_controllerProxy;
|
||||
|
||||
QLineEdit* m_searchBox;
|
||||
QPushButton* m_matchLabel;
|
||||
|
||||
Reference in New Issue
Block a user