diff options
author | Arno <arno@disconnect.de> | 2018-02-02 18:13:27 +0100 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2018-02-02 18:13:27 +0100 |
commit | 2f1e930668c1a2205a09ee835908d28b2bdedcdd (patch) | |
tree | 7f9331fd80e45e27994a0a5ebc2e61e4dc69be23 /searchview.h | |
parent | 3a4b40917ba45e3dd34e14816d12ca8a6bd510f7 (diff) | |
download | ShemovCleaner-2f1e930668c1a2205a09ee835908d28b2bdedcdd.tar.gz ShemovCleaner-2f1e930668c1a2205a09ee835908d28b2bdedcdd.tar.bz2 ShemovCleaner-2f1e930668c1a2205a09ee835908d28b2bdedcdd.zip |
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.
Diffstat (limited to 'searchview.h')
-rw-r--r-- | searchview.h | 28 |
1 files changed, 28 insertions, 0 deletions
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 <QTreeView> + +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 |