12#ifndef FILTER_LIST_MODEL_h
13#define FILTER_LIST_MODEL_h
17#include <QAbstractListModel>
106 QModelIndex
addFilter(QString name, QString expression);
124 virtual int rowCount(
const QModelIndex &parent = QModelIndex())
const override;
131 virtual int columnCount(
const QModelIndex &parent = QModelIndex())
const override;
139 virtual QVariant data(
const QModelIndex &index,
int role = Qt::DisplayRole)
const override;
148 virtual bool setData(
const QModelIndex &index,
const QVariant &value,
int role)
override;
157 virtual QVariant
headerData(
int section, Qt::Orientation orientation,
int role = Qt::DisplayRole)
const override;
164 virtual Qt::ItemFlags flags(
const QModelIndex &index)
const override;
176 virtual QStringList
mimeTypes()
const override;
183 virtual QMimeData *
mimeData(
const QModelIndexList &indexes)
const override;
194 virtual bool dropMimeData(
const QMimeData *data, Qt::DropAction action,
int row,
int column,
const QModelIndex &parent)
override;
202 QList<struct FilterListModel::FilterListValue> storage;
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