diff options
author | Gerald Combs <gerald@wireshark.org> | 2015-07-03 15:52:49 -0500 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2015-07-07 20:49:30 +0000 |
commit | e91ca72a445d51b71f958f140e2eb89747f499ff (patch) | |
tree | 8447adabdba8623cd8e045bc7a3d3d73fca54130 /ui/qt/wireshark_application.cpp | |
parent | e9622175f7aee7dbeff6e97c9ac6ab78460e239a (diff) | |
download | wireshark-e91ca72a445d51b71f958f140e2eb89747f499ff.tar.gz |
Qt: Add initial Lua support.
Add a FunnelStatistics class, which is the main interface between the Qt
UI and the Funnel API.
Add FunnelTextDialog, which implements the text_window, ProgDlg, menu,
and other routines. Add FunnelStringDialog, which implements dlg_new.
We currently only support "Tools" menu items (MENU_TOOLS_UNSORTED, aka
REGISTER_TOOLS_GROUP_UNSORTED). Add a disabled placeholder to the
"Tools" menu in case we don't load any scripts.
Use "struct progdlg" instead of needlessly casting to
funnel_progress_window_t.
To do:
- Add support for MENU_STAT_UNSORTED, MENU_STAT_GENERIC, etc.
- Make the firewall config generator a Lua script?
- Add FunnelGraphDialog? It seems like it would be useful to
make QCustomPlot accessible to Lua scripts.
Ping-Bug: 9845
Change-Id: Iefff02e9032ed1853666f7902509ed08b431e7a7
Reviewed-on: https://code.wireshark.org/review/9523
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/wireshark_application.cpp')
-rw-r--r-- | ui/qt/wireshark_application.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/ui/qt/wireshark_application.cpp b/ui/qt/wireshark_application.cpp index e34c1ae3dc..1439c72f0f 100644 --- a/ui/qt/wireshark_application.cpp +++ b/ui/qt/wireshark_application.cpp @@ -90,6 +90,7 @@ static char *last_open_dir = NULL; static bool updated_last_open_dir = FALSE; static QList<recent_item_status *> recent_items_; static QHash<int, QList<QAction *> > statistics_groups_; +static QHash<int, QList<QAction *> > funnel_groups_; QString WiresharkApplication::window_title_separator_ = QString::fromUtf8(" " UTF8_MIDDLE_DOT " "); @@ -571,6 +572,7 @@ void WiresharkApplication::emitTapParameterSignal(const QString cfg_abbr, const emit openTapParameterDialog(cfg_abbr, arg, userdata); } +// XXX Combine statistics and funnel routines into addGroupItem + groupItems? void WiresharkApplication::addStatisticsGroupItem(int group, QAction *sg_action) { if (!statistics_groups_.contains(group)) { @@ -590,6 +592,25 @@ QList<QAction *> WiresharkApplication::statisticsGroupItems(int group) return sgi_list; } +void WiresharkApplication::addFunnelGroupItem(int group, QAction *fg_action) +{ + if (!funnel_groups_.contains(group)) { + funnel_groups_[group] = QList<QAction *>(); + } + funnel_groups_[group] << fg_action; +} + +QList<QAction *> WiresharkApplication::funnelGroupItems(int group) +{ + if (!funnel_groups_.contains(group)) { + return QList<QAction *>(); + } + + QList<QAction *> fgi_list = funnel_groups_[group]; + std::sort(fgi_list.begin(), fgi_list.end(), qActionLessThan); + return fgi_list; +} + #ifdef HAVE_LIBPCAP static void |