aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2012-06-25 21:05:36 +0000
committerAnders Broman <anders.broman@ericsson.com>2012-06-25 21:05:36 +0000
commit3814106d7e5333e887dcd9d4c8ced0c2e10cd22c (patch)
treed823be6cefb91a9442becfdb371cb34cef82ed14
parent9b21bf229f4a00f9f9b1189553e25c445e939100 (diff)
From Michael Mann:
generic preferences implementation https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7402 svn path=/trunk/; revision=43484
-rw-r--r--dftest.c4
-rw-r--r--epan/prefs-int.h1
-rw-r--r--epan/prefs.c119
-rw-r--r--rawshark.c4
-rw-r--r--tshark.c4
-rw-r--r--ui/gtk/CMakeLists.txt2
-rw-r--r--ui/gtk/Makefile.common4
-rw-r--r--ui/gtk/main.c4
-rw-r--r--ui/gtk/prefs_dlg.c155
-rw-r--r--ui/gtk/prefs_taps.c2
-rw-r--r--ui/qt/main.cpp4
11 files changed, 165 insertions, 138 deletions
diff --git a/dftest.c b/dftest.c
index 939f77be11..b11d0a6424 100644
--- a/dftest.c
+++ b/dftest.c
@@ -86,10 +86,6 @@ main(int argc, char **argv)
failure_message, open_failure_message, read_failure_message,
write_failure_message);
- /* now register the preferences for any non-dissector modules.
- we must do that before we read the preferences as well. */
- prefs_register_modules();
-
/* set the c-language locale to the native environment. */
setlocale(LC_ALL, "");
diff --git a/epan/prefs-int.h b/epan/prefs-int.h
index c7f8d4fc9f..38f4a2779e 100644
--- a/epan/prefs-int.h
+++ b/epan/prefs-int.h
@@ -38,6 +38,7 @@ struct pref_module {
const char *description; /**< Description of module (displayed in preferences notebook) */
void (*apply_cb)(void); /**< routine to call when preferences applied */
GList *prefs; /**< list of its preferences */
+ struct pref_module *parent; /**< parent module */
emem_tree_t *submodules; /**< list of its submodules */
int numprefs; /**< number of non-obsolete preferences */
gboolean prefs_changed; /**< if TRUE, a preference has changed since we last checked */
diff --git a/epan/prefs.c b/epan/prefs.c
index 6b3dffae55..ee3125738f 100644
--- a/epan/prefs.c
+++ b/epan/prefs.c
@@ -237,6 +237,7 @@ prefs_register_module_or_subtree(module_t *parent, const char *name,
module->description = description;
module->apply_cb = apply_cb;
module->prefs = NULL; /* no preferences, to start */
+ module->parent = parent;
module->submodules = NULL; /* no submodules, to start */
module->numprefs = 0;
module->prefs_changed = FALSE;
@@ -326,9 +327,10 @@ prefs_register_protocol(int id, void (*apply_cb)(void))
*/
if (protocols_module == NULL) {
/*
- * No. Do so.
+ * No. Register Protocols subtree as well as any preferences
+ * for non-dissector modules.
*/
- protocols_module = prefs_register_subtree(NULL, "Protocols", NULL);
+ prefs_register_modules();
}
protocol = find_protocol_by_id(id);
return prefs_register_module(protocols_module,
@@ -351,9 +353,10 @@ prefs_register_protocol_subtree(const char *subtree, int id, void (*apply_cb)(vo
*/
if (protocols_module == NULL) {
/*
- * No. Do so.
+ * No. Register Protocols subtree as well as any preferences
+ * for non-dissector modules.
*/
- protocols_module = prefs_register_subtree(NULL, "Protocols", NULL);
+ prefs_register_modules();
}
subtree_module = protocols_module;
@@ -401,9 +404,10 @@ prefs_register_protocol_obsolete(int id)
*/
if (protocols_module == NULL) {
/*
- * No. Do so.
+ * No. Register Protocols subtree as well as any preferences
+ * for non-dissector modules.
*/
- protocols_module = prefs_register_subtree(NULL, "Protocols", NULL);
+ prefs_register_modules();
}
protocol = find_protocol_by_id(id);
module = prefs_register_module(protocols_module,
@@ -927,12 +931,58 @@ prefs_pref_foreach(module_t *module, pref_cb callback, gpointer user_data)
return 0;
}
+static void stats_callback(void)
+{
+ /* Test for a sane tap update interval */
+ if (prefs.tap_update_interval < 100 || prefs.tap_update_interval > 10000) {
+ prefs.tap_update_interval = TAP_UPDATE_DEFAULT_INTERVAL;
+ }
+
+#ifdef HAVE_LIBPORTAUDIO
+ /* Test for a sane max channels entry */
+ if (prefs.rtp_player_max_visible < 1 || prefs.rtp_player_max_visible > 10)
+ prefs.rtp_player_max_visible = RTP_PLAYER_DEFAULT_VISIBLE;
+#endif
+
+}
+
/*
* Register all non-dissector modules' preferences.
*/
void
prefs_register_modules(void)
{
+ module_t* stats;
+
+ if (protocols_module != NULL) {
+ /* Already setup preferences */
+ return;
+ }
+
+ stats = prefs_register_module(NULL, "statistics", "Statistics",
+ "Statistics", &stats_callback);
+
+ prefs_register_uint_preference(stats, "update_interval",
+ "Tap update interval in ms",
+ "Determines time between tap updates",
+ 10,
+ &prefs.tap_update_interval);
+
+#ifdef HAVE_LIBPORTAUDIO
+ prefs_register_uint_preference(stats, "rtp_player_max_visible",
+ "Max visible channels in RTP Player",
+ "Determines maximum height of RTP Player window",
+ 10,
+ &prefs.rtp_player_max_visible);
+#endif
+
+ protocols_module = prefs_register_module(NULL, "protocols", "Protocols",
+ "Protocols", NULL);
+
+ prefs_register_bool_preference(protocols_module, "display_hidden_proto_items",
+ "Display hidden protocol items",
+ "Display all hidden protocol items in the packet list.",
+ &prefs.display_hidden_proto_items);
}
/* Parse through a list of comma-separated, possibly quoted strings.
@@ -2126,12 +2176,6 @@ prefs_capture_device_monitor_mode(const char *name)
#define GREEN_COMPONENT(x) (guint16) (((((x) >> 8) & 0xff) * 65535 / 255))
#define BLUE_COMPONENT(x) (guint16) ( (((x) & 0xff) * 65535 / 255))
-/* values for the rtp player preferences dialog box */
-#define PRS_TAP_UPDATE_INTERVAL "taps.update_interval"
-#define PRS_RTP_PLAYER_MAX_VISIBLE "taps.rtp_player_max_visible"
-
-#define PRS_DISPLAY_HIDDEN_PROTO_ITEMS "packet_list.display_hidden_proto_items"
-
static const gchar *pr_formats[] = { "text", "postscript" };
static const gchar *pr_dests[] = { "command", "file" };
@@ -2661,14 +2705,6 @@ set_pref(gchar *pref_name, gchar *value, void *private_data _U_,
prefs.load_smi_modules = ((g_ascii_strcasecmp(value, "true") == 0)?TRUE:FALSE);
} else if (strcmp(pref_name, PRS_NAME_RESOLVE_SUPPRESS_SMI_ERRORS) == 0) {
prefs.suppress_smi_errors = ((g_ascii_strcasecmp(value, "true") == 0)?TRUE:FALSE);
- } else if ((strcmp(pref_name, PRS_RTP_PLAYER_MAX_VISIBLE) == 0) ||
- (strcmp(pref_name, "rtp_player.max_visible") == 0)) {
- /* ... also accepting old name for this preference */
- prefs.rtp_player_max_visible = strtol(value, NULL, 10);
- } else if (strcmp(pref_name, PRS_TAP_UPDATE_INTERVAL) == 0) {
- prefs.tap_update_interval = strtol(value, NULL, 10);
- } else if (strcmp(pref_name, PRS_DISPLAY_HIDDEN_PROTO_ITEMS) == 0) {
- prefs.display_hidden_proto_items = ((g_ascii_strcasecmp(value, "true") == 0)?TRUE:FALSE);
} else {
/* To which module does this preference belong? */
module = NULL;
@@ -3757,21 +3793,12 @@ write_prefs(char **pf_path_return)
fprintf(pf, PRS_NAME_RESOLVE_SUPPRESS_SMI_ERRORS ": %s\n",
prefs.suppress_smi_errors == TRUE ? "TRUE" : "FALSE");
- fprintf(pf, "\n####### Taps/Statistics ########\n");
-
- fprintf(pf, "\n# Tap update interval in ms.\n");
- fprintf(pf, "# An integer value greater between 100 and 10000.\n");
- if (prefs.tap_update_interval == default_prefs.tap_update_interval)
- fprintf(pf, "#");
- fprintf(pf, PRS_TAP_UPDATE_INTERVAL ": %d\n",
- prefs.tap_update_interval);
-
- fprintf(pf, "\n# Maximum visible channels in RTP Player window.\n");
- fprintf(pf, "# An integer value greater than 0.\n");
- if (prefs.rtp_player_max_visible == default_prefs.rtp_player_max_visible)
- fprintf(pf, "#");
- fprintf(pf, PRS_RTP_PLAYER_MAX_VISIBLE ": %d\n",
- prefs.rtp_player_max_visible);
+ /*
+ * XXX - The following members are intentionally not written here because
+ * they are handled within the 'generic' preference handling:
+ * tap_update_interval
+ * rtp_player_max_visible
+ */
fprintf(pf, "\n####### Filter Expressions ########\n");
{
@@ -3791,12 +3818,11 @@ write_prefs(char **pf_path_return)
fprintf(pf, "\n####### Protocols ########\n");
- fprintf(pf, "\n# Display hidden items in packet details pane?\n");
- fprintf(pf, "# TRUE or FALSE (case-insensitive).\n");
- if (prefs.display_hidden_proto_items == default_prefs.display_hidden_proto_items)
- fprintf(pf, "#");
- fprintf(pf, PRS_DISPLAY_HIDDEN_PROTO_ITEMS ": %s\n",
- prefs.display_hidden_proto_items == TRUE ? "TRUE" : "FALSE");
+ /*
+ * XXX - The following members are intentionally not written here because
+ * they are handled within the 'generic' preference handling:
+ * display_hidden_proto_items
+ */
pe_tree_foreach(prefs_modules, write_module_prefs, pf);
@@ -3893,10 +3919,13 @@ copy_prefs(e_prefs *dest, e_prefs *src)
dest->capture_show_info = src->capture_show_info;
dest->name_resolve = src->name_resolve;
dest->name_resolve_concurrency = src->name_resolve_concurrency;
- dest->tap_update_interval = src->tap_update_interval;
- dest->rtp_player_max_visible = src->rtp_player_max_visible;
- dest->display_hidden_proto_items = src->display_hidden_proto_items;
-
+ /*
+ * XXX - The following members are intentionally not copied because they
+ * are handled within the 'generic' preference handling:
+ * tap_update_interval
+ * rtp_player_max_visible
+ * display_hidden_proto_items
+ */
}
/* Free a set of preferences. */
diff --git a/rawshark.c b/rawshark.c
index 719eba1870..8dddc9315e 100644
--- a/rawshark.c
+++ b/rawshark.c
@@ -514,10 +514,6 @@ main(int argc, char *argv[])
failure_message, open_failure_message, read_failure_message,
write_failure_message);
- /* Now register the preferences for any non-dissector modules.
- We must do that before we read the preferences as well. */
- prefs_register_modules();
-
/* Set the C-language locale to the native environment. */
setlocale(LC_ALL, "");
diff --git a/tshark.c b/tshark.c
index 2b83d54881..2535e6c573 100644
--- a/tshark.c
+++ b/tshark.c
@@ -967,10 +967,6 @@ main(int argc, char *argv[])
#endif
register_all_tap_listeners();
- /* Now register the preferences for any non-dissector modules.
- We must do that before we read the preferences as well. */
- prefs_register_modules();
-
/* If invoked with the "-G" flag, we dump out information based on
the argument to the "-G" flag; if no argument is specified,
for backwards compatibility we dump out a glossary of display
diff --git a/ui/gtk/CMakeLists.txt b/ui/gtk/CMakeLists.txt
index a556099b75..ed8edc7b7b 100644
--- a/ui/gtk/CMakeLists.txt
+++ b/ui/gtk/CMakeLists.txt
@@ -96,8 +96,6 @@ set(WIRESHARK_GTK_SRC
prefs_layout.c
prefs_nameres.c
prefs_print.c
- prefs_protocols.c
- prefs_taps.c
prefs_stream.c
print_dlg.c
profile_dlg.c
diff --git a/ui/gtk/Makefile.common b/ui/gtk/Makefile.common
index 72a7b5ce32..3e54f3caef 100644
--- a/ui/gtk/Makefile.common
+++ b/ui/gtk/Makefile.common
@@ -121,8 +121,6 @@ WIRESHARK_GTK_SRC = \
prefs_layout.c \
prefs_nameres.c \
prefs_print.c \
- prefs_protocols.c \
- prefs_taps.c \
prefs_stream.c \
print_dlg.c \
profile_dlg.c \
@@ -324,8 +322,6 @@ noinst_HEADERS = \
prefs_layout.h \
prefs_nameres.h \
prefs_print.h \
- prefs_protocols.h \
- prefs_taps.h \
prefs_stream.h \
profile_dlg.h \
proto_dlg.h \
diff --git a/ui/gtk/main.c b/ui/gtk/main.c
index 39f2fa623d..ca61a76872 100644
--- a/ui/gtk/main.c
+++ b/ui/gtk/main.c
@@ -2574,10 +2574,6 @@ main(int argc, char *argv[])
splash_update(RA_PREFERENCES, NULL, (gpointer)splash_win);
- /* Now register the preferences for any non-dissector modules.
- We must do that before we read the preferences as well. */
- prefs_register_modules();
-
prefs_p = read_configuration_files (&gdp_path, &dp_path);
/* Removed thread code:
* http://anonsvn.wireshark.org/viewvc/viewvc.cgi?view=rev&revision=35027
diff --git a/ui/gtk/prefs_dlg.c b/ui/gtk/prefs_dlg.c
index 8f3babe9e3..6d2844bdf4 100644
--- a/ui/gtk/prefs_dlg.c
+++ b/ui/gtk/prefs_dlg.c
@@ -50,8 +50,6 @@
#include "ui/gtk/prefs_layout.h"
#include "ui/gtk/prefs_capture.h"
#include "ui/gtk/prefs_nameres.h"
-#include "ui/gtk/prefs_taps.h"
-#include "ui/gtk/prefs_protocols.h"
#include "ui/gtk/gui_utils.h"
#include "ui/gtk/dlg_utils.h"
#include "ui/gtk/stock_icons.h"
@@ -99,8 +97,6 @@ static GtkWidget *create_preference_filename_entry(GtkWidget *, int,
#define E_CAPTURE_PAGE_KEY "capture_options_page"
#define E_PRINT_PAGE_KEY "printer_options_page"
#define E_NAMERES_PAGE_KEY "nameres_options_page"
-#define E_TAPS_PAGE_KEY "taps_options_page"
-#define E_PROTOCOLS_PAGE_KEY "protocols_options_page"
#define E_FILTER_EXPRESSIONS_PAGE_KEY "filter_expressions_page"
/*
@@ -124,7 +120,7 @@ struct ct_struct {
GtkWidget *tree;
GtkTreeIter iter;
gint page;
- gboolean is_protocol;
+ GtkTreeStore *store;
};
static gint protocols_page = 0;
@@ -268,7 +264,76 @@ pref_show(pref_t *pref, gpointer user_data)
return 0;
}
+#define prefs_tree_iter GtkTreeIter
+
+/* add a page to the tree */
+static prefs_tree_iter
+prefs_tree_page_add(const gchar *title, gint page_nr,
+ gpointer store, prefs_tree_iter *parent_iter)
+{
+ prefs_tree_iter iter;
+
+ gtk_tree_store_append(store, &iter, parent_iter);
+ gtk_tree_store_set(store, &iter, 0, title, 1, page_nr, -1);
+ return iter;
+}
+
+/* add a page to the notebook */
+static GtkWidget *
+prefs_nb_page_add(GtkWidget *notebook, const gchar *title, GtkWidget *page, const char *page_key)
+{
+ GtkWidget *frame;
+
+ frame = gtk_frame_new(title);
+ gtk_widget_show(frame);
+ if(page) {
+ gtk_container_add(GTK_CONTAINER(frame), page);
+ g_object_set_data(G_OBJECT(prefs_w), page_key, page);
+ }
+ gtk_notebook_append_page (GTK_NOTEBOOK(notebook), frame, NULL);
+
+ return frame;
+}
+
+/* create a basic window for preferences */
+GtkWidget*
+simple_prefs_show(module_t *module, struct ct_struct *cts, gchar* label_str)
+{
+ GtkWidget *main_tb, *main_vb, *frame, *main_sw;
+ int pos = 0;
+
+ /* Scrolled window */
+ main_sw = gtk_scrolled_window_new(NULL, NULL);
+ gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(main_sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
+
+ /* Frame */
+ frame = gtk_frame_new(module->description);
+ gtk_container_set_border_width(GTK_CONTAINER(frame), 5);
+ gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(main_sw), frame);
+ g_object_set_data(G_OBJECT(main_sw), E_PAGESW_FRAME_KEY, frame);
+
+ /* Main vertical box */
+ main_vb = ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, 5, FALSE);
+ gtk_container_set_border_width(GTK_CONTAINER(main_vb), 5);
+ gtk_container_add(GTK_CONTAINER(frame), main_vb);
+
+ /* Main table */
+ main_tb = gtk_table_new(module->numprefs, 2, FALSE);
+ gtk_box_pack_start(GTK_BOX(main_vb), main_tb, FALSE, FALSE, 0);
+ gtk_table_set_row_spacings(GTK_TABLE(main_tb), 10);
+ gtk_table_set_col_spacings(GTK_TABLE(main_tb), 15);
+
+ /* Add items for each of the preferences */
+ prefs_pref_foreach(module, pref_show, main_tb);
+
+ /* Show 'em what we got */
+ gtk_widget_show_all(main_vb);
+
+ return main_vb;
+}
+
#define MAX_TREE_NODE_NAME_LEN 64
+
/* show prefs page for each registered module (protocol) */
static guint
module_prefs_show(module_t *module, gpointer user_data)
@@ -304,8 +369,17 @@ module_prefs_show(module_t *module, gpointer user_data)
*/
g_strlcpy(label_str, module->title, MAX_TREE_NODE_NAME_LEN);
model = GTK_TREE_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(cts->tree)));
- if (prefs_module_has_submodules(module) && !cts->iter.stamp)
- gtk_tree_store_append(model, &iter, NULL);
+
+ if (module->parent == NULL) {
+ prefs_nb_page_add(cts->notebook, label_str, simple_prefs_show(module, cts, label_str), module->title);
+ gtk_tree_store_append(model, &iter, NULL);
+ /* Save the protocols page */
+ if (strcmp(module->title, "Protocols") == 0) {
+ protocols_page = cts->page++;
+ } else {
+ cts->page++;
+ }
+ }
else
gtk_tree_store_append(model, &iter, &cts->iter);
@@ -324,8 +398,6 @@ module_prefs_show(module_t *module, gpointer user_data)
*/
child_cts = *cts;
child_cts.iter = iter;
- if (module == protocols_module)
- child_cts.is_protocol = TRUE;
prefs_modules_foreach_submodules(module, module_prefs_show, &child_cts);
/* keep the page count right */
@@ -386,38 +458,6 @@ module_prefs_show(module_t *module, gpointer user_data)
}
-#define prefs_tree_iter GtkTreeIter
-
-/* add a page to the tree */
-static prefs_tree_iter
-prefs_tree_page_add(const gchar *title, gint page_nr,
- gpointer store, prefs_tree_iter *parent_iter)
-{
- prefs_tree_iter iter;
-
- gtk_tree_store_append(store, &iter, parent_iter);
- gtk_tree_store_set(store, &iter, 0, title, 1, page_nr, -1);
- return iter;
-}
-
-/* add a page to the notebook */
-static GtkWidget *
-prefs_nb_page_add(GtkWidget *notebook, const gchar *title, GtkWidget *page, const char *page_key)
-{
- GtkWidget *frame;
-
- frame = gtk_frame_new(title);
- gtk_widget_show(frame);
- if(page) {
- gtk_container_add(GTK_CONTAINER(frame), page);
- g_object_set_data(G_OBJECT(prefs_w), page_key, page);
- }
- gtk_notebook_append_page (GTK_NOTEBOOK(notebook), frame, NULL);
-
- return frame;
-}
-
-
/* show the dialog */
void
prefs_cb(GtkWidget *w, gpointer dummy)
@@ -512,11 +552,6 @@ prefs_page_cb(GtkWidget *w _U_, gpointer dummy _U_, PREFS_PAGE_E prefs_page)
cts.page = 0;
- /* Preferences common for all protocols */
- g_strlcpy(label_str, "Protocols", MAX_TREE_NODE_NAME_LEN);
- prefs_nb_page_add(prefs_nb, label_str, protocols_prefs_show(), E_PROTOCOLS_PAGE_KEY);
- protocols_page = cts.page++;
-
/* GUI prefs */
g_strlcpy(label_str, "User Interface", MAX_TREE_NODE_NAME_LEN);
prefs_nb_page_add(prefs_nb, label_str, gui_prefs_show(), E_GUI_PAGE_KEY);
@@ -582,9 +617,10 @@ prefs_page_cb(GtkWidget *w _U_, gpointer dummy _U_, PREFS_PAGE_E prefs_page)
#endif /* _WIN32 */
#endif /* HAVE_LIBPCAP */
- /* Printing prefs */
- g_strlcpy(label_str, "Printing", MAX_TREE_NODE_NAME_LEN);
- prefs_nb_page_add(prefs_nb, label_str, printer_prefs_show(), E_PRINT_PAGE_KEY);
+ /* Saved filter prefs */
+ g_strlcpy(label_str, "Filter Expressions", MAX_TREE_NODE_NAME_LEN);
+ prefs_nb_page_add(prefs_nb, label_str, filter_expressions_prefs_show(),
+ E_FILTER_EXPRESSIONS_PAGE_KEY);
prefs_tree_page_add(label_str, cts.page, store, NULL);
cts.page++;
@@ -594,22 +630,15 @@ prefs_page_cb(GtkWidget *w _U_, gpointer dummy _U_, PREFS_PAGE_E prefs_page)
prefs_tree_page_add(label_str, cts.page, store, NULL);
cts.page++;
- /* Saved filter prefs */
- g_strlcpy(label_str, "Filter Expressions", MAX_TREE_NODE_NAME_LEN);
- prefs_nb_page_add(prefs_nb, label_str, filter_expressions_prefs_show(),
- E_FILTER_EXPRESSIONS_PAGE_KEY);
- prefs_tree_page_add(label_str, cts.page, store, NULL);
- cts.page++;
-
- /* TAPS player prefs */
- g_strlcpy(label_str, "Statistics", MAX_TREE_NODE_NAME_LEN);
- prefs_nb_page_add(prefs_nb, label_str, stats_prefs_show(), E_TAPS_PAGE_KEY);
+ /* Printing prefs */
+ g_strlcpy(label_str, "Printing", MAX_TREE_NODE_NAME_LEN);
+ prefs_nb_page_add(prefs_nb, label_str, printer_prefs_show(), E_PRINT_PAGE_KEY);
prefs_tree_page_add(label_str, cts.page, store, NULL);
cts.page++;
/* Registered prefs */
cts.notebook = prefs_nb;
- cts.is_protocol = FALSE;
+ cts.store = store;
prefs_modules_foreach_submodules(NULL, module_prefs_show, &cts);
/* Button row: OK and alike buttons */
@@ -1322,8 +1351,6 @@ prefs_main_fetch_all(GtkWidget *dlg, gboolean *must_redissect)
nameres_prefs_fetch(g_object_get_data(G_OBJECT(dlg), E_NAMERES_PAGE_KEY));
filter_expressions_prefs_fetch(g_object_get_data(G_OBJECT(dlg),
E_FILTER_EXPRESSIONS_PAGE_KEY));
- stats_prefs_fetch(g_object_get_data(G_OBJECT(dlg), E_TAPS_PAGE_KEY));
- protocols_prefs_fetch(g_object_get_data(G_OBJECT(dlg), E_PROTOCOLS_PAGE_KEY));
prefs_modules_foreach(module_prefs_fetch, must_redissect);
return TRUE;
@@ -1359,8 +1386,6 @@ prefs_main_apply_all(GtkWidget *dlg, gboolean redissect)
#endif /* HAVE_LIBPCAP */
printer_prefs_apply(g_object_get_data(G_OBJECT(dlg), E_PRINT_PAGE_KEY));
nameres_prefs_apply(g_object_get_data(G_OBJECT(dlg), E_NAMERES_PAGE_KEY));
- stats_prefs_apply(g_object_get_data(G_OBJECT(dlg), E_TAPS_PAGE_KEY));
- protocols_prefs_apply(g_object_get_data(G_OBJECT(dlg), E_PROTOCOLS_PAGE_KEY));
/* show/hide the Save button - depending on setting */
save_bt = g_object_get_data(G_OBJECT(prefs_w), E_PREFSW_SAVE_BT_KEY);
@@ -1403,13 +1428,11 @@ prefs_main_destroy_all(GtkWidget *dlg)
#endif /* HAVE_LIBPCAP */
printer_prefs_destroy(g_object_get_data(G_OBJECT(dlg), E_PRINT_PAGE_KEY));
nameres_prefs_destroy(g_object_get_data(G_OBJECT(dlg), E_NAMERES_PAGE_KEY));
- stats_prefs_destroy(g_object_get_data(G_OBJECT(dlg), E_TAPS_PAGE_KEY));
/* Free up the saved preferences (both for "prefs" and for registered
preferences). */
free_prefs(&saved_prefs);
prefs_modules_foreach(module_prefs_clean, NULL);
- protocols_prefs_destroy(g_object_get_data(G_OBJECT(dlg), E_PROTOCOLS_PAGE_KEY));
}
diff --git a/ui/gtk/prefs_taps.c b/ui/gtk/prefs_taps.c
index 2a6d06fa06..22c60ed89b 100644
--- a/ui/gtk/prefs_taps.c
+++ b/ui/gtk/prefs_taps.c
@@ -107,7 +107,7 @@ stats_prefs_fetch(GtkWidget *w _U_)
/* Test for a sane tap update interval */
if (prefs.tap_update_interval < 100 || prefs.tap_update_interval > 10000) {
- prefs.tap_update_interval = 3000;
+ prefs.tap_update_interval = TAP_UPDATE_DEFAULT_INTERVAL;
}
#ifdef HAVE_LIBPORTAUDIO
diff --git a/ui/qt/main.cpp b/ui/qt/main.cpp
index 242296fad6..755112c25b 100644
--- a/ui/qt/main.cpp
+++ b/ui/qt/main.cpp
@@ -941,10 +941,6 @@ int main(int argc, char *argv[])
// splash_update(RA_PREFERENCES, NULL, (gpointer)splash_win);
- /* Now register the preferences for any non-dissector modules.
- We must do that before we read the preferences as well. */
- prefs_register_modules();
-
prefs_p = read_configuration_files (&gdp_path, &dp_path);
/* Removed thread code:
* http://anonsvn.wireshark.org/viewvc/viewvc.cgi?view=rev&revision=35027