summaryrefslogtreecommitdiffstats
path: root/searchview.h
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2018-02-02 18:13:27 +0100
committerArno <arno@disconnect.de>2018-02-02 18:13:27 +0100
commit2f1e930668c1a2205a09ee835908d28b2bdedcdd (patch)
tree7f9331fd80e45e27994a0a5ebc2e61e4dc69be23 /searchview.h
parent3a4b40917ba45e3dd34e14816d12ca8a6bd510f7 (diff)
downloadShemovCleaner-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.h28
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