Wireshark 4.7.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
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
24class FilterListModel : public QAbstractListModel
25{
26 Q_OBJECT
27
28public:
37
43 explicit FilterListModel(FilterListType type = FilterListModel::Display, QObject * parent = Q_NULLPTR);
44
49 explicit FilterListModel(QObject * parent = Q_NULLPTR);
50
54 enum {
57 };
58
63 QString name;
64 QString expression;
71 FilterListValue(QString n, QString e) : name(n), expression(e) {}
72 };
73
79
85
91 QModelIndex findByName(QString name);
92
98 QModelIndex findByExpression(QString expression);
99
106 QModelIndex addFilter(QString name, QString expression);
107
112 void removeFilter(QModelIndex idx);
113
117 void saveList();
118
124 virtual int rowCount(const QModelIndex &parent = QModelIndex()) const override;
125
131 virtual int columnCount(const QModelIndex &parent = QModelIndex()) const override;
132
139 virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
140
148 virtual bool setData(const QModelIndex &index, const QVariant &value, int role) override;
149
157 virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
158
164 virtual Qt::ItemFlags flags(const QModelIndex &index) const override;
165
170 virtual Qt::DropActions supportedDropActions() const override;
171
176 virtual QStringList mimeTypes() const override;
177
183 virtual QMimeData *mimeData(const QModelIndexList &indexes) const override;
184
194 virtual bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override;
195
196private:
197
200
202 QList<struct FilterListModel::FilterListValue> storage;
203
207 void reload();
208};
209
210#endif // FILTER_LIST_MODEL_h
A list model for managing capture filters, display filters, and display macros.
Definition filter_list_model.h:25
virtual int rowCount(const QModelIndex &parent=QModelIndex()) const override
Returns the number of rows under a given parent.
Definition filter_list_model.cpp:113
virtual Qt::DropActions supportedDropActions() const override
Retrieves the drop actions supported by the model.
Definition filter_list_model.cpp:294
void saveList()
Saves the current list of filters to persistent storage.
Definition filter_list_model.cpp:258
void removeFilter(QModelIndex idx)
Removes a filter at the specified index.
Definition filter_list_model.cpp:248
@ ColumnExpression
Definition filter_list_model.h:56
@ ColumnName
Definition filter_list_model.h:55
virtual bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override
Handles dropped MIME data to insert items into the model.
Definition filter_list_model.cpp:319
FilterListType
Defines the type of filter list.
Definition filter_list_model.h:32
@ DisplayMacro
Definition filter_list_model.h:35
@ Display
Definition filter_list_model.h:33
@ Capture
Definition filter_list_model.h:34
QModelIndex findByExpression(QString expression)
Finds a filter by its expression.
Definition filter_list_model.cpp:234
QModelIndex findByName(QString name)
Finds a filter by its name.
Definition filter_list_model.cpp:220
QModelIndex addFilter(QString name, QString expression)
Adds a new filter to the list.
Definition filter_list_model.cpp:204
virtual int columnCount(const QModelIndex &parent=QModelIndex()) const override
Returns the number of columns under a given parent.
Definition filter_list_model.cpp:118
void setFilterType(FilterListModel::FilterListType type)
Sets the filter type for this model.
Definition filter_list_model.cpp:102
virtual QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
Retrieves the header data for a specific section and role.
Definition filter_list_model.cpp:123
virtual QStringList mimeTypes() const override
Retrieves the MIME types supported by the model for drag and drop operations.
Definition filter_list_model.cpp:299
virtual QMimeData * mimeData(const QModelIndexList &indexes) const override
Creates MIME data representing the given model indices.
Definition filter_list_model.cpp:304
virtual bool setData(const QModelIndex &index, const QVariant &value, int role) override
Sets data in the model for a given index and role.
Definition filter_list_model.cpp:169
FilterListModel::FilterListType filterType() const
Retrieves the current filter type of the model.
Definition filter_list_model.cpp:108
Represents a single filter entry with a name and an expression.
Definition filter_list_model.h:62
QString expression
Definition filter_list_model.h:64
QString name
Definition filter_list_model.h:63
FilterListValue(QString n, QString e)
Constructs a new FilterListValue.
Definition filter_list_model.h:71