]> sigrok.org Git - pulseview.git/blobdiff - pv/subwindows/decoder_selector/subwindow.hpp
DecoderSelector: Implement filtering
[pulseview.git] / pv / subwindows / decoder_selector / subwindow.hpp
index 4434f0a610bcd2030e867acc598b5417eb3184c4..6f6456d3bff16292855cae6dc14bd71c1fb5a9bd 100644 (file)
@@ -24,6 +24,7 @@
 
 #include <QAbstractItemModel>
 #include <QLabel>
+#include <QSortFilterProxyModel>
 #include <QSplitter>
 #include <QTreeView>
 
@@ -84,6 +85,12 @@ private:
 };
 
 
+class QCustomSortFilterProxyModel : public QSortFilterProxyModel
+{
+protected:
+       bool filterAcceptsRow(int source_row, const QModelIndex& source_parent) const;
+};
+
 class QCustomTreeView : public QTreeView
 {
        Q_OBJECT
@@ -126,6 +133,8 @@ public Q_SLOTS:
        void on_item_changed(const QModelIndex& index);
        void on_item_activated(const QModelIndex& index);
 
+       void on_filter_changed(const QString& text);
+
 private:
        QSplitter* splitter_;
        QCustomTreeView* tree_view_;
@@ -134,6 +143,7 @@ private:
        QLabel* info_label_body_;
        QLabel* info_label_footer_;
        DecoderCollectionModel* model_;
+       QCustomSortFilterProxyModel* sort_filter_model_;
 };
 
 } // decoder_selector