diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2017-05-09 14:04:18 +0200 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2017-05-12 10:44:44 +0200 |
commit | f15b779d0b904526eb174893bc68c86eb08811d1 (patch) | |
tree | fb8495c3542983a3f1a608116a5d9988b7951c67 | |
parent | 129bdb5a164a6386c35ff387e9d8f0d3d6a12dbf (diff) |
GTK+Qt: Show non-plugin stats_tree entries on the menu bar
Change-Id: I565b0d2d43dd98781f77a302a20bd841e3e4650e
-rw-r--r-- | ui/gtk/main_menubar.c | 34 | ||||
-rw-r--r-- | ui/qt/main_window.cpp | 2 | ||||
-rw-r--r-- | ui/qt/main_window.h | 3 | ||||
-rw-r--r-- | ui/qt/main_window_slots.cpp | 9 |
4 files changed, 36 insertions, 12 deletions
diff --git a/ui/gtk/main_menubar.c b/ui/gtk/main_menubar.c index 8669743135..7291fa77ea 100644 --- a/ui/gtk/main_menubar.c +++ b/ui/gtk/main_menubar.c @@ -136,7 +136,7 @@ GtkWidget *popup_menu_object; static void menu_open_recent_file_cmd_cb(GtkAction *action, gpointer data _U_ ); static void add_recent_items (guint merge_id, GtkUIManager *ui_manager); -static void add_tap_plugins (guint merge_id, GtkUIManager *ui_manager); +static void add_tap (guint merge_id, GtkUIManager *ui_manager); static void menus_init(void); static void merge_menu_items(GList *node); @@ -3284,7 +3284,7 @@ menus_init(void) /* Add statistics tap plug-in to the menu */ merge_id = gtk_ui_manager_new_merge_id (ui_manager_main_menubar); - add_tap_plugins (merge_id, ui_manager_main_menubar); + add_tap (merge_id, ui_manager_main_menubar); statusbar_profiles_action_group = gtk_action_group_new ("StatusBarProfilesPopUpMenuActionGroup"); @@ -3891,7 +3891,7 @@ add_recent_items (guint merge_id, GtkUIManager *ui_manager) #define MENU_STATISTICS_PATH "/Menubar/StatisticsMenu" static void -add_tap_plugins (guint merge_id, GtkUIManager *ui_manager) +add_tap_entries (guint merge_id, GtkUIManager *ui_manager, gboolean plugin) { GtkActionGroup *action_group; GtkAction *action; @@ -3906,22 +3906,33 @@ add_tap_plugins (guint merge_id, GtkUIManager *ui_manager) gchar *stat_name; gchar *sep; - action_group = gtk_action_group_new ("tap-plugins-group"); + gchar *action_group_str; + gchar *merge_id_str; + + if (plugin) { + action_group_str = "tap-plugins-group"; + merge_id_str = "tap-plugins-merge-id"; + } else { + action_group_str = "tap-group"; + merge_id_str = "tap-merge-id"; + } + + action_group = gtk_action_group_new (action_group_str); submenu_statistics = gtk_ui_manager_get_widget(ui_manager_main_menubar, MENU_STATISTICS_PATH); - if(!submenu_statistics){ - g_warning("add_tap_plugins: No submenu_statistics found, path= MENU_STATISTICS_PATH"); + if (!submenu_statistics) { + g_warning("add_tap_entries: No submenu_statistics found, path=" MENU_STATISTICS_PATH); return; } gtk_ui_manager_insert_action_group (ui_manager_main_menubar, action_group, 0); g_object_set_data (G_OBJECT (ui_manager_main_menubar), - "tap-plugins-merge-id", GUINT_TO_POINTER (merge_id)); + merge_id_str, GUINT_TO_POINTER (merge_id)); cfg_list = stats_tree_get_cfg_list(); iter = g_list_first(cfg_list); while (iter) { stats_tree_cfg *cfg = (stats_tree_cfg*)iter->data; - if (cfg->plugin) { + if (cfg->plugin == plugin) { stat_name_buf = g_strdup(cfg->name); submenu_path_size = (gsize)(strlen(MENU_STATISTICS_PATH)+strlen(cfg->name)+strlen(cfg->abbr)+1); /* worst case length */ submenu_path = (gchar *)g_malloc(submenu_path_size); @@ -3984,6 +3995,13 @@ add_tap_plugins (guint merge_id, GtkUIManager *ui_manager) g_list_free(cfg_list); } +static void +add_tap(guint merge_id, GtkUIManager *ui_manager) +{ + add_tap_entries(merge_id, ui_manager, FALSE); + add_tap_entries(merge_id, ui_manager, TRUE); +} + /* Open a file by its name (Beware: will not ask to close existing capture file!) */ void diff --git a/ui/qt/main_window.cpp b/ui/qt/main_window.cpp index b47b83e34c..ce860b2dfa 100644 --- a/ui/qt/main_window.cpp +++ b/ui/qt/main_window.cpp @@ -398,7 +398,7 @@ MainWindow::MainWindow(QWidget *parent) : connect(wsApp, SIGNAL(appInitialized()), this, SLOT(applyGlobalCommandLineOptions())); connect(wsApp, SIGNAL(appInitialized()), this, SLOT(zoomText())); connect(wsApp, SIGNAL(appInitialized()), this, SLOT(initViewColorizeMenu())); - connect(wsApp, SIGNAL(appInitialized()), this, SLOT(addStatsPluginsToMenu())); + connect(wsApp, SIGNAL(appInitialized()), this, SLOT(addStatsToMenu())); connect(wsApp, SIGNAL(appInitialized()), this, SLOT(addDynamicMenus())); connect(wsApp, SIGNAL(appInitialized()), this, SLOT(addPluginIFStructures())); connect(wsApp, SIGNAL(appInitialized()), this, SLOT(initConversationMenus())); diff --git a/ui/qt/main_window.h b/ui/qt/main_window.h index 23e1de7cce..e8b98429bc 100644 --- a/ui/qt/main_window.h +++ b/ui/qt/main_window.h @@ -238,6 +238,7 @@ private: void removeMenuActions(QList<QAction *> &actions, int menu_group); void goToConversationFrame(bool go_next); void colorizeWithFilter(QByteArray filter, int color_number = -1); + void addStatsEntriesToMenu(bool plugin); signals: void setCaptureFile(capture_file *cf); @@ -337,7 +338,7 @@ private slots: void showAccordionFrame(AccordionFrame *show_frame, bool toggle = false); void showColumnEditor(int column); void showPreferenceEditor(); // module_t *, pref * - void addStatsPluginsToMenu(); + void addStatsToMenu(); void addDynamicMenus(); void reloadDynamicMenus(); void addPluginIFStructures(); diff --git a/ui/qt/main_window_slots.cpp b/ui/qt/main_window_slots.cpp index c957a6e42a..5f9821012c 100644 --- a/ui/qt/main_window_slots.cpp +++ b/ui/qt/main_window_slots.cpp @@ -1623,7 +1623,7 @@ void MainWindow::initViewColorizeMenu() #endif } -void MainWindow::addStatsPluginsToMenu() { +void MainWindow::addStatsEntriesToMenu(bool plugin) { GList *cfg_list = stats_tree_get_cfg_list(); GList *iter = g_list_first(cfg_list); QAction *stats_tree_action; @@ -1632,7 +1632,7 @@ void MainWindow::addStatsPluginsToMenu() { while (iter) { stats_tree_cfg *cfg = (stats_tree_cfg*)iter->data; - if (cfg->plugin) { + if (cfg->plugin == plugin) { if (first_item) { main_ui_->menuStatistics->addSeparator(); first_item = false; @@ -1659,6 +1659,11 @@ void MainWindow::addStatsPluginsToMenu() { g_list_free(cfg_list); } +void MainWindow::addStatsToMenu() { + addStatsEntriesToMenu(false); + addStatsEntriesToMenu(true); +} + void MainWindow::setFeaturesEnabled(bool enabled) { main_ui_->menuBar->setEnabled(enabled); |