summaryrefslogtreecommitdiff
path: root/ui/qt/expert_info_dialog.h
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2015-08-12 10:49:34 -0700
committerGerald Combs <gerald@wireshark.org>2015-08-12 19:27:34 +0000
commit412f5b3716bce91d1b26a82012e5c28a611d91da (patch)
tree30f8515ced972bbfe35f156d9c417557e0daf9b4 /ui/qt/expert_info_dialog.h
parentbde416afcc6233225ab990390361bad67de45463 (diff)
downloadwireshark-412f5b3716bce91d1b26a82012e5c28a611d91da.tar.gz
Expert information dialog performance improvements.
Inserting QTreeWidgetItems individually is slow. This isn't a problem if you only have a few items but the Expert Information dialog can have thousands. Add "packet" tree items in groups, which should be much faster. Note that we still add "group" tree items individually since that gives us a nice progress indicator. While we're here, make sure we show the dialog before tapping packets. Bug: 11439 Change-Id: I8a182f4158d078cae5f42b8d1355414197f423e1 Reviewed-on: https://code.wireshark.org/review/10000 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
Diffstat (limited to 'ui/qt/expert_info_dialog.h')
-rw-r--r--ui/qt/expert_info_dialog.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/ui/qt/expert_info_dialog.h b/ui/qt/expert_info_dialog.h
index 802b52dcde..95144acaa9 100644
--- a/ui/qt/expert_info_dialog.h
+++ b/ui/qt/expert_info_dialog.h
@@ -70,12 +70,11 @@ private:
QMenu ctx_menu_;
QHash<QString, QTreeWidgetItem*> ei_to_ti_;
+ QHash<QTreeWidgetItem*, QList<QTreeWidgetItem *> > gti_packets_;
QList<QAction *> severity_actions_;
QString display_filter_;
- void retapPackets();
-
// Called from tapPacket
void addExpertInfo(struct expert_info_s *expert_info);
// Called from tapDraw
@@ -87,6 +86,8 @@ private:
static void tapDraw(void *eid_ptr);
private slots:
+ void retapPackets();
+
void updateWidgets();
void actionShowToggled();