aboutsummaryrefslogtreecommitdiffstats
path: root/ui/qt/models/dissector_tables_model.cpp
diff options
context:
space:
mode:
authorRoland Knall <roland.knall@br-automation.com>2017-12-20 11:26:52 +0100
committerRoland Knall <rknall@gmail.com>2017-12-20 19:42:11 +0000
commit57d54a2fc0ea02b2e7accc9b9dd824f8b55a39c6 (patch)
tree1352c8c30f803dd12f6bbd1b08dd1ae233954971 /ui/qt/models/dissector_tables_model.cpp
parent153d588972ee4893b664b64f9e8b9f6285972744 (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.cpp19
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)