diff options
author | Roland Knall <roland.knall@br-automation.com> | 2017-12-20 11:26:52 +0100 |
---|---|---|
committer | Roland Knall <rknall@gmail.com> | 2017-12-20 19:42:11 +0000 |
commit | 57d54a2fc0ea02b2e7accc9b9dd824f8b55a39c6 (patch) | |
tree | 1352c8c30f803dd12f6bbd1b08dd1ae233954971 /ui/qt/models/dissector_tables_model.cpp | |
parent | 153d588972ee4893b664b64f9e8b9f6285972744 (diff) |
Qt: Filter Dissector tables properly
Also cleanup the code a little bit
Change-Id: I53097478fafa46249fa6ecb52508d9bc5b963caa
Reviewed-on: https://code.wireshark.org/review/24908
Petri-Dish: Roland Knall <rknall@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Reviewed-by: Roland Knall <rknall@gmail.com>
Diffstat (limited to 'ui/qt/models/dissector_tables_model.cpp')
-rw-r--r-- | ui/qt/models/dissector_tables_model.cpp | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/ui/qt/models/dissector_tables_model.cpp b/ui/qt/models/dissector_tables_model.cpp index 7986cc54d8..a40f542b42 100644 --- a/ui/qt/models/dissector_tables_model.cpp +++ b/ui/qt/models/dissector_tables_model.cpp @@ -140,6 +140,7 @@ DissectorTablesModel::DissectorTablesModel(QObject *parent) : QAbstractItemModel(parent), root_(new DissectorTablesItem(QString("ROOT"), QString("ROOT"), NULL)) { + populate(); } DissectorTablesModel::~DissectorTablesModel() @@ -149,7 +150,7 @@ DissectorTablesModel::~DissectorTablesModel() int DissectorTablesModel::rowCount(const QModelIndex &parent) const { - DissectorTablesItem *parent_item; + DissectorTablesItem *parent_item; if (parent.column() > 0) return 0; @@ -405,12 +406,10 @@ bool DissectorTablesProxyModel::lessThan(const QModelIndex &left, const QModelIn bool DissectorTablesProxyModel::filterAcceptItem(DissectorTablesItem& item) const { - QRegExp regex(filter_, Qt::CaseInsensitive); - - if (item.tableName().contains(regex)) + if ( filter_.isEmpty() ) return true; - if (item.shortName().contains(regex)) + if (item.tableName().contains(filter_, Qt::CaseInsensitive) || item.shortName().contains(filter_, Qt::CaseInsensitive)) return true; DissectorTablesItem *child_item; @@ -429,14 +428,12 @@ bool DissectorTablesProxyModel::filterAcceptsRow(int sourceRow, const QModelInde QModelIndex nameIdx = sourceModel()->index(sourceRow, DissectorTablesModel::colTableName, sourceParent); DissectorTablesItem* item = static_cast<DissectorTablesItem*>(nameIdx.internalPointer()); if (item == NULL) - return true; + return false; - if (!filter_.isEmpty()) { - if (filterAcceptItem(*item)) - return true; - } + if (filterAcceptItem(*item)) + return true; - return true; + return false; } void DissectorTablesProxyModel::setFilter(const QString& filter) |