summaryrefslogtreecommitdiffstats
path: root/ui/qt/dissector_tables_dialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ui/qt/dissector_tables_dialog.cpp')
-rw-r--r--ui/qt/dissector_tables_dialog.cpp54
1 files changed, 54 insertions, 0 deletions
diff --git a/ui/qt/dissector_tables_dialog.cpp b/ui/qt/dissector_tables_dialog.cpp
new file mode 100644
index 00000000..51e5cf7e
--- /dev/null
+++ b/ui/qt/dissector_tables_dialog.cpp
@@ -0,0 +1,54 @@
+/* dissector_tables_dialog.cpp
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+ #include "config.h"
+
+#include <ui/qt/dissector_tables_dialog.h>
+#include <ui_dissector_tables_dialog.h>
+
+#include "main_application.h"
+
+DissectorTablesDialog::DissectorTablesDialog(QWidget *parent) :
+ GeometryStateDialog(parent),
+ ui(new Ui::DissectorTablesDialog)
+{
+ ui->setupUi(this);
+
+ if (parent)
+ loadGeometry(parent->width() * 3 / 4, parent->height() * 3 / 4);
+
+ setAttribute(Qt::WA_DeleteOnClose, true);
+ setWindowTitle(mainApp->windowTitleString(tr("Dissector Tables")));
+
+ proxyModel_ = new DissectorTablesProxyModel(this);
+ proxyModel_->setSourceModel(new DissectorTablesModel(this));
+ //it's recommended to sort after list is populated
+ proxyModel_->sort(DissectorTablesModel::colTableName);
+
+ ui->tableTree->setModel(proxyModel_);
+
+ //expand the "type" tables
+ ui->tableTree->expandToDepth(0);
+ ui->tableTree->resizeColumnToContents(DissectorTablesModel::colTableName);
+
+ ui->txtSearchLine->setFocus();
+}
+
+DissectorTablesDialog::~DissectorTablesDialog()
+{
+ delete ui;
+}
+
+void DissectorTablesDialog::on_txtSearchLine_textChanged(const QString &search_re)
+{
+ proxyModel_->setFilter(search_re);
+ /* If items are filtered out, then filtered back in, the tree remains collapsed
+ Force an expansion */
+ ui->tableTree->expandToDepth(0);
+}