From 2f1e930668c1a2205a09ee835908d28b2bdedcdd Mon Sep 17 00:00:00 2001 From: Arno Date: Fri, 2 Feb 2018 18:13:27 +0100 Subject: Implement context menu for search results Subclass QTreeView to show a custom context menu. Since the depth of some items is > 1, add an option to expand and collapse a node recursively. --- searchview.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 searchview.h (limited to 'searchview.h') diff --git a/searchview.h b/searchview.h new file mode 100644 index 0000000..33cd02c --- /dev/null +++ b/searchview.h @@ -0,0 +1,28 @@ +#ifndef SEARCHVIEW_H +#define SEARCHVIEW_H + +#include + +class QMenu; +class QContextMenuEvent; + +class SearchView : public QTreeView { + Q_OBJECT + public: + enum NodeAction { Expand, Collapse }; + explicit SearchView(QWidget *parent = 0); + + public slots: + void expandNode(); + void collapseNode(); + + protected: + virtual void contextMenuEvent(QContextMenuEvent *e); + + private: + void doNodeR(const QModelIndex &parent, int nAction); + QMenu *mCtxMenu; + +}; + +#endif // SEARCHVIEW_H -- cgit v1.2.3-70-g09d2