aboutsummaryrefslogtreecommitdiffstats
path: root/gtk/prefs_dlg.c
diff options
context:
space:
mode:
authorStig Bjørlykke <stig@bjorlykke.org>2009-11-26 08:57:21 +0000
committerStig Bjørlykke <stig@bjorlykke.org>2009-11-26 08:57:21 +0000
commit537cacc926438ba1e9ef287da7b567ef0a19690c (patch)
tree3677edfd6f607d3581db7c7becad386f78d1f24d /gtk/prefs_dlg.c
parentc00e12fd9d148c8236f63d076a33e18ac2832b82 (diff)
downloadwireshark-537cacc926438ba1e9ef287da7b567ef0a19690c.tar.gz
wireshark-537cacc926438ba1e9ef287da7b567ef0a19690c.tar.bz2
wireshark-537cacc926438ba1e9ef287da7b567ef0a19690c.zip
Added an option to open the Preferences directly in the Layout or Columns page.
svn path=/trunk/; revision=31084
Diffstat (limited to 'gtk/prefs_dlg.c')
-rw-r--r--gtk/prefs_dlg.c29
1 files changed, 22 insertions, 7 deletions
diff --git a/gtk/prefs_dlg.c b/gtk/prefs_dlg.c
index 98708a3f9e..c44b89cde2 100644
--- a/gtk/prefs_dlg.c
+++ b/gtk/prefs_dlg.c
@@ -409,7 +409,7 @@ prefs_nb_page_add(GtkWidget *notebook, const gchar *title, GtkWidget *page, cons
/* show the dialog */
void
-prefs_cb(GtkWidget *w _U_, gpointer dummy _U_)
+prefs_cb(GtkWidget *w _U_, gpointer dummy _U_, PREFS_PAGE_E prefs_page)
{
GtkWidget *top_hb, *bbox, *prefs_nb, *ct_sb,
*ok_bt, *apply_bt, *save_bt, *cancel_bt, *help_bt;
@@ -421,7 +421,8 @@ prefs_cb(GtkWidget *w _U_, gpointer dummy _U_)
GtkCellRenderer *renderer;
GtkTreeViewColumn *column;
gint col_offset;
- prefs_tree_iter gui_iter;
+ prefs_tree_iter gui_iter, layout_iter, columns_iter;
+ gint layout_page, columns_page;
if (prefs_w != NULL) {
@@ -509,14 +510,14 @@ prefs_cb(GtkWidget *w _U_, gpointer dummy _U_)
/* GUI layout prefs */
g_strlcpy(label_str, "Layout", MAX_TREE_NODE_NAME_LEN);
prefs_nb_page_add(prefs_nb, label_str, layout_prefs_show(), E_GUI_LAYOUT_PAGE_KEY);
- prefs_tree_page_add(label_str, cts.page, store, &gui_iter);
- cts.page++;
+ layout_iter = prefs_tree_page_add(label_str, cts.page, store, &gui_iter);
+ layout_page = cts.page++;
/* GUI Column prefs */
g_strlcpy(label_str, "Columns", MAX_TREE_NODE_NAME_LEN);
prefs_nb_page_add(prefs_nb, label_str, column_prefs_show(prefs_w), E_GUI_COLUMN_PAGE_KEY);
- prefs_tree_page_add(label_str, cts.page, store, &gui_iter);
- cts.page++;
+ columns_iter = prefs_tree_page_add(label_str, cts.page, store, &gui_iter);
+ columns_page = cts.page++;
/* GUI Font prefs */
g_strlcpy(label_str, "Font", MAX_TREE_NODE_NAME_LEN);
@@ -622,6 +623,20 @@ prefs_cb(GtkWidget *w _U_, gpointer dummy _U_)
window_present(prefs_w);
+ switch (prefs_page) {
+ case PREFS_PAGE_LAYOUT:
+ gtk_tree_selection_select_iter(selection, &layout_iter);
+ gtk_notebook_set_current_page(g_object_get_data(G_OBJECT(prefs_w), E_PREFSW_NOTEBOOK_KEY), layout_page);
+ break;
+ case PREFS_PAGE_COLUMNS:
+ gtk_tree_selection_select_iter(selection, &columns_iter);
+ gtk_notebook_set_current_page(g_object_get_data(G_OBJECT(prefs_w), E_PREFSW_NOTEBOOK_KEY), columns_page);
+ break;
+ default:
+ /* Not implemented yet */
+ break;
+ }
+
g_object_unref(G_OBJECT(store));
}
@@ -1749,7 +1764,7 @@ properties_cb(GtkWidget *w, gpointer dummy)
if (prefs_w != NULL) {
reactivate_window(prefs_w);
} else {
- prefs_cb(w, dummy);
+ prefs_cb(w, dummy, PREFS_PAGE_USER_INTERFACE);
}
/* Search all the pages in that window for the one with the specified