Wireshark  4.3.0
The Wireshark network protocol analyzer
filter_list_model.h
Go to the documentation of this file.
1 
12 #ifndef FILTER_LIST_MODEL_h
13 #define FILTER_LIST_MODEL_h
14 
15 #include <config.h>
16 
17 #include <QAbstractListModel>
18 #include <QList>
19 #include <QStringList>
20 
21 class FilterListModel : public QAbstractListModel
22 {
23  Q_OBJECT
24 
25 public:
26  enum FilterListType {
27  Display,
28  Capture
29  };
30 
31  explicit FilterListModel(FilterListType type = FilterListModel::Display, QObject * parent = Q_NULLPTR);
32  explicit FilterListModel(QObject * parent = Q_NULLPTR);
33 
34  enum {
35  ColumnName,
36  ColumnExpression
37  };
38 
39  void setFilterType(FilterListModel::FilterListType type);
40  FilterListModel::FilterListType filterType() const;
41 
42  QModelIndex findByName(QString name);
43  QModelIndex findByExpression(QString expression);
44 
45  QModelIndex addFilter(QString name, QString expression);
46  void removeFilter(QModelIndex idx);
47 
48  void saveList();
49 
50  virtual int rowCount(const QModelIndex &parent = QModelIndex()) const override;
51  virtual int columnCount(const QModelIndex &parent = QModelIndex()) const override;
52  virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
53  virtual bool setData(const QModelIndex &index, const QVariant &value, int role) override;
54  virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
55  virtual Qt::ItemFlags flags(const QModelIndex &index) const override;
56 
57  virtual Qt::DropActions supportedDropActions() const override;
58  virtual QStringList mimeTypes() const override;
59  virtual QMimeData *mimeData(const QModelIndexList &indexes) const override;
60  virtual bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override;
61 
62 private:
63 
64  FilterListModel::FilterListType type_;
65 
66  QStringList storage;
67 
68  void reload();
69 };
70 
71 #endif // FILTER_LIST_MODEL_h
Definition: filter_list_model.h:22