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  DisplayMacro,
30  };
31 
32  explicit FilterListModel(FilterListType type = FilterListModel::Display, QObject * parent = Q_NULLPTR);
33  explicit FilterListModel(QObject * parent = Q_NULLPTR);
34 
35  enum {
36  ColumnName,
37  ColumnExpression
38  };
39 
40  void setFilterType(FilterListModel::FilterListType type);
41  FilterListModel::FilterListType filterType() const;
42 
43  QModelIndex findByName(QString name);
44  QModelIndex findByExpression(QString expression);
45 
46  QModelIndex addFilter(QString name, QString expression);
47  void removeFilter(QModelIndex idx);
48 
49  void saveList();
50 
51  virtual int rowCount(const QModelIndex &parent = QModelIndex()) const override;
52  virtual int columnCount(const QModelIndex &parent = QModelIndex()) const override;
53  virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
54  virtual bool setData(const QModelIndex &index, const QVariant &value, int role) override;
55  virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
56  virtual Qt::ItemFlags flags(const QModelIndex &index) const override;
57 
58  virtual Qt::DropActions supportedDropActions() const override;
59  virtual QStringList mimeTypes() const override;
60  virtual QMimeData *mimeData(const QModelIndexList &indexes) const override;
61  virtual bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override;
62 
63 private:
64 
65  FilterListModel::FilterListType type_;
66 
67  QStringList storage;
68 
69  void reload();
70 };
71 
72 #endif // FILTER_LIST_MODEL_h
Definition: filter_list_model.h:22