aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gtk/gui_stat_menu.h2
-rw-r--r--gtk/main_menubar.c8
-rw-r--r--gtk/stats_tree_stat.c31
3 files changed, 37 insertions, 4 deletions
diff --git a/gtk/gui_stat_menu.h b/gtk/gui_stat_menu.h
index 6894cf7e00..efedbfeadc 100644
--- a/gtk/gui_stat_menu.h
+++ b/gtk/gui_stat_menu.h
@@ -198,6 +198,8 @@ void scsi_srt_cb(GtkAction *action, gpointer user_data);
void smb2_srt_cb(GtkAction *action, gpointer user_data);
void smb_srt_cb(GtkAction *action, gpointer user_data);
+void gtk_stats_tree_cb(GtkAction *action, gpointer user_data);
+
void tcp_graph_cb (GtkAction *action, gpointer user_data);
gboolean tcp_graph_selected_packet_enabled(frame_data *current_frame, epan_dissect_t *edt, gpointer callback_data _U_);
diff --git a/gtk/main_menubar.c b/gtk/main_menubar.c
index 1cf0aacfb0..524145126a 100644
--- a/gtk/main_menubar.c
+++ b/gtk/main_menubar.c
@@ -1233,9 +1233,8 @@ static const char *ui_desc_menubar =
" <menuitem name='SMB2' action='/Analyze/ServiceResponseTime/SMB2'/>\n"
" </menu>\n"
" <separator/>\n"
-" <placeholder name='ANCP'/>\n"
-" <menu name= 'BACnetMenu' action='/Analyze/BACnet'>\n"
-" <placeholder name='BACnet-List-item'/>\n"
+" <menu name= 'BACnetMenu' action='/Analyze/StatisticsMenu/BACnet'>\n"
+" <menuitem name='bacapp_service' action='/Analyze/StatisticsMenu/BACnet/bacapp_service'/>\n"
" </menu>\n"
" <menuitem name='FlowGraph' action='/Analyze/StatisticsMenu/FlowGraph'/>\n"
" <menu name= 'HTTPMenu' action='/Analyze/StatisticsMenu/HTTP'>\n"
@@ -1676,7 +1675,8 @@ static const GtkActionEntry main_menu_bar_entries[] = {
{ "/Analyze/ServiceResponseTime/SMB", WIRESHARK_STOCK_TIME, "SMB...", NULL, NULL, G_CALLBACK(smb_srt_cb) },
{ "/Analyze/ServiceResponseTime/SMB2", WIRESHARK_STOCK_TIME, "SMB2...", NULL, NULL, G_CALLBACK(smb2_srt_cb) },
- { "/Analyze/BACnet", NULL, "BACnet", NULL, NULL, NULL },
+ { "/Analyze/StatisticsMenu/BACnet", NULL, "BACnet", NULL, NULL, NULL },
+ { "/Analyze/StatisticsMenu/BACnet/bacapp_service", NULL, "Packets sorted by Service", NULL, NULL, G_CALLBACK(gtk_stats_tree_cb) },
{ "/Analyze/StatisticsMenu/FlowGraph", WIRESHARK_STOCK_FLOW_GRAPH, "Flo_w Graph...", NULL, NULL, G_CALLBACK(flow_graph_launch) },
{ "/Analyze/StatisticsMenu/HTTP", NULL, "HTTP", NULL, NULL, NULL },
diff --git a/gtk/stats_tree_stat.c b/gtk/stats_tree_stat.c
index a8f55a87a4..5d9f6361e2 100644
--- a/gtk/stats_tree_stat.c
+++ b/gtk/stats_tree_stat.c
@@ -352,7 +352,10 @@ register_gtk_stats_tree_tap (gpointer k _U_, gpointer v, gpointer p _U_)
cfg->pr->stat_dlg->nparams = G_N_ELEMENTS(tree_stat_params);
cfg->pr->stat_dlg->params = tree_stat_params;
+#ifdef MAIN_MENU_USE_UIMANAGER
+#else
register_dfilter_stat(cfg->pr->stat_dlg, cfg->name, cfg->stat_group);
+#endif
}
static void
@@ -376,3 +379,31 @@ register_tap_listener_stats_tree_stat(void)
NULL,
NULL);
}
+
+#ifdef MAIN_MENU_USE_UIMANAGER
+void gtk_stats_tree_cb(GtkAction *action, gpointer user_data _U_)
+{
+ const gchar *action_name;
+ gchar *abbr;
+ stats_tree_cfg* cfg = NULL;
+
+ action_name = gtk_action_get_name (action);
+ abbr = strrchr(action_name,'/');
+ if(abbr){
+ abbr = abbr+1;
+ }else{
+ abbr = g_strdup_printf("%s",action_name);
+ }
+ cfg = stats_tree_get_cfg_by_abbr(abbr);
+ if(cfg){
+ g_warning("init_string %s",cfg->pr->stat_dlg->init_string);
+ tap_param_dlg_cb(action, cfg->pr->stat_dlg);
+ }else{
+ simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
+ "Failed to find the stat tree named %s",
+ abbr);
+ return;
+ }
+
+}
+#endif