]> sigrok.org Git - pulseview.git/blobdiff - pv/subwindows/decoder_selector/subwindow.hpp
Use proposed clang-tidy fixes
[pulseview.git] / pv / subwindows / decoder_selector / subwindow.hpp
index dba6f6deed8f72515d58bcd15df5fa0175e2f836..c189fb24860efb085a859617e5bd8bf4bcb896eb 100644 (file)
@@ -65,7 +65,7 @@ class DecoderCollectionModel : public QAbstractItemModel
        Q_OBJECT
 
 public:
-       DecoderCollectionModel(QObject* parent = 0);
+       DecoderCollectionModel(QObject* parent = nullptr);
 
        QVariant data(const QModelIndex& index, int role) const override;
        Qt::ItemFlags flags(const QModelIndex& index) const override;
@@ -85,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
@@ -106,19 +112,19 @@ public:
        bool has_toolbar() const;
        QToolBar* create_toolbar(QWidget *parent) const;
 
-       const srd_decoder* get_srd_decoder_from_id(QString id) const;
+       int minimum_width() const;
 
        /**
         * Returns a list of input types that a given protocol decoder requires
         * ("logic", "uart", etc.)
         */
-       vector<const char*> decoder_inputs(const srd_decoder* d) const;
+       vector<const char*> get_decoder_inputs(const srd_decoder* d) const;
 
        /**
         * Returns a list of protocol decoder IDs which provide a given output
         * ("uart", "spi", etc.)
         */
-       vector<const srd_decoder*> decoders_providing(const char* output) const;
+       vector<const srd_decoder*> get_decoders_providing(const char* output) const;
 
 Q_SIGNALS:
        void new_decoders_selected(vector<const srd_decoder*> decoders);
@@ -127,6 +133,9 @@ public Q_SLOTS:
        void on_item_changed(const QModelIndex& index);
        void on_item_activated(const QModelIndex& index);
 
+       void on_filter_changed(const QString& text);
+       void on_filter_return_pressed();
+
 private:
        QSplitter* splitter_;
        QCustomTreeView* tree_view_;
@@ -135,10 +144,10 @@ private:
        QLabel* info_label_body_;
        QLabel* info_label_footer_;
        DecoderCollectionModel* model_;
-       QSortFilterProxyModel* sort_filter_model_;
+       QCustomSortFilterProxyModel* sort_filter_model_;
 };
 
-} // decoder_selector
+} // namespace decoder_selector
 } // namespace subwindows
 } // namespace pv