diff options
-rw-r--r-- | ui/gtk/rlc_lte_stat_dlg.c | 10 | ||||
-rw-r--r-- | ui/recent.c | 13 | ||||
-rw-r--r-- | ui/recent.h | 1 |
3 files changed, 21 insertions, 3 deletions
diff --git a/ui/gtk/rlc_lte_stat_dlg.c b/ui/gtk/rlc_lte_stat_dlg.c index 84627bbe65..6ff23b3ccd 100644 --- a/ui/gtk/rlc_lte_stat_dlg.c +++ b/ui/gtk/rlc_lte_stat_dlg.c @@ -48,6 +48,8 @@ #include "ui/gtk/help_dlg.h" #include "ui/gtk/main.h" +#include "ui/recent.h" + void register_tap_listener_rlc_lte_stat(void); @@ -936,6 +938,7 @@ static void toggle_show_mac(GtkWidget *widget, gpointer data) /* Read state */ hs->show_mac = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); + recent.gui_rlc_use_pdus_from_mac = hs->show_mac; /* Retap */ cf_retap_packets(&cfile); @@ -1334,9 +1337,10 @@ static void gtk_rlc_lte_stat_init(const char *opt_arg, void *userdata _U_) "decoded inside MAC PDUs (enabled in MAC dissector preferences)"); - /* MAC on by default */ - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(show_mac_cb), TRUE); - hs->show_mac = TRUE; + /* Get settings from recent. */ + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(show_mac_cb), + recent.gui_rlc_use_pdus_from_mac); + hs->show_mac = recent.gui_rlc_use_pdus_from_mac; gtk_box_pack_start(GTK_BOX(top_level_vbox), pdu_source_lb, FALSE, FALSE, 0); /* TODO: add tooltips... */ g_signal_connect(show_mac_cb, "toggled", G_CALLBACK(toggle_show_mac), hs); diff --git a/ui/recent.c b/ui/recent.c index ca4fb7d51f..2633ac92cf 100644 --- a/ui/recent.c +++ b/ui/recent.c @@ -69,6 +69,7 @@ #define RECENT_GUI_FILEOPEN_REMEMBERED_DIR "gui.fileopen_remembered_dir" #define RECENT_GUI_CONVERSATION_TABS "gui.conversation_tabs" #define RECENT_GUI_ENDPOINT_TABS "gui.endpoint_tabs" +#define RECENT_GUI_RLC_PDUS_FROM_MAC_FRAMES "gui.rlc_pdus_from_mac_frames" #define RECENT_GUI_GEOMETRY "gui.geom." @@ -800,6 +801,11 @@ write_profile_recent(void) fprintf(rf, RECENT_GUI_ENDPOINT_TABS ": %s\n", string_list); g_free(string_list); + fprintf(rf, "\n# For RLC stats, whether to use RLC PDUs found inside MAC frames.\n"); + fprintf(rf, "# TRUE or FALSE (case-insensitive).\n"); + fprintf(rf, RECENT_GUI_RLC_PDUS_FROM_MAC_FRAMES ": %s\n", + recent.gui_rlc_use_pdus_from_mac == TRUE ? "TRUE" : "FALSE"); + if (get_last_open_dir() != NULL) { fprintf(rf, "\n# Last directory navigated to in File Open dialog.\n"); @@ -1038,6 +1044,13 @@ read_set_recent_pair_static(gchar *key, const gchar *value, recent.conversation_tabs = prefs_get_string_list(value); } else if (strcmp(key, RECENT_GUI_ENDPOINT_TABS) == 0) { recent.endpoint_tabs = prefs_get_string_list(value); + } else if (strcmp(key, RECENT_GUI_RLC_PDUS_FROM_MAC_FRAMES) == 0) { + if (g_ascii_strcasecmp(value, "true") == 0) { + recent.gui_rlc_use_pdus_from_mac = TRUE; + } + else { + recent.gui_rlc_use_pdus_from_mac = FALSE; + } } else if (strcmp(key, RECENT_KEY_COL_WIDTH) == 0) { col_l = prefs_get_string_list(value); if (col_l == NULL) diff --git a/ui/recent.h b/ui/recent.h index fa44d69e4a..ef5f357f07 100644 --- a/ui/recent.h +++ b/ui/recent.h @@ -101,6 +101,7 @@ typedef struct recent_settings_tag { GList *conversation_tabs; /* enabled conversation dialog tabs */ GList *endpoint_tabs; /* enabled endpoint dialog tabs */ gchar *gui_fileopen_remembered_dir; /* folder of last capture loaded in File Open dialog */ + gboolean gui_rlc_use_pdus_from_mac; } recent_settings_t; /** Global recent settings. */ |