#ifndef QT_BOOKMARK_BROWSER_H #define QT_BOOKMARK_BROWSER_H #include #include #include #include "component/controller/BookmarkController.h" #include "component/controller/helper/ControllerProxy.h" #include "data/bookmark/Bookmark.h" #include "qt/window/QtWindow.h" class QtBookmark; class QtBookmarkBrowser : public QtWindow { Q_OBJECT public: QtBookmarkBrowser(ControllerProxy* controllerProxy, QWidget* parent = nullptr); ~QtBookmarkBrowser(); void setupBookmarkBrowser(); void setBookmarks(const std::vector>& bookmarks); protected: virtual void resizeEvent(QResizeEvent* event) Q_DECL_OVERRIDE; virtual void handleClose() override; virtual void handleNext() override; private slots: void filterOrOrderChanged(const QString& text); void treeItemClicked(QTreeWidgetItem* item, int column); private: Bookmark::BookmarkFilter getSelectedFilter(); Bookmark::BookmarkOrder getSelectedOrder(); QTreeWidgetItem* findOrCreateTreeCategory(const BookmarkCategory& category); ControllerProxy* m_controllerProxy; QTreeWidget* m_bookmarkTree; QComboBox* m_filterComboBox; QComboBox* m_orderComboBox; std::vector m_orderNames; QWidget* m_headerBackground; }; #endif // QT_BOOKMARK_BROWSER_H