diff options
author | Stig Bjørlykke <stig@bjorlykke.org> | 2009-11-26 08:57:21 +0000 |
---|---|---|
committer | Stig Bjørlykke <stig@bjorlykke.org> | 2009-11-26 08:57:21 +0000 |
commit | 537cacc926438ba1e9ef287da7b567ef0a19690c (patch) | |
tree | 3677edfd6f607d3581db7c7becad386f78d1f24d /gtk/prefs_dlg.c | |
parent | c00e12fd9d148c8236f63d076a33e18ac2832b82 (diff) | |
download | wireshark-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.c | 29 |
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 |