summaryrefslogtreecommitdiff
path: root/ui/gtk/prefs_dlg.c
diff options
context:
space:
mode:
authorBill Meier <wmeier@newsguy.com>2013-01-01 20:50:45 +0000
committerBill Meier <wmeier@newsguy.com>2013-01-01 20:50:45 +0000
commit7fd75ad2c52b6116ffc87be3a295b05690c57f51 (patch)
tree214a6a2fc15dee300ee965d9f52888715f86e0ea /ui/gtk/prefs_dlg.c
parent46b0d0f4061365d05b7beab31dda8111d60f2eb4 (diff)
downloadwireshark-7fd75ad2c52b6116ffc87be3a295b05690c57f51.tar.gz
Use scrolled-windows to enclose "custom" prefs pages (User Interface, Layout, etc)
in the same manner as to "protocol prefs" pages. This ensures that the bottom row buttons won't disappear off the bottom of the prefs window if one (or more) of the custom prefs pages is too large to fit vertically within the available screen space. In Wireshark 1.8, more items were added to the "User Interface" prefs page thus leading to an increased possibility of this issue occurring. I believe this fixes Bug #8078. #Backport Wireshark 1.8 svn path=/trunk/; revision=46885
Diffstat (limited to 'ui/gtk/prefs_dlg.c')
-rw-r--r--ui/gtk/prefs_dlg.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/ui/gtk/prefs_dlg.c b/ui/gtk/prefs_dlg.c
index 9e1789f5ad..739184c25f 100644
--- a/ui/gtk/prefs_dlg.c
+++ b/ui/gtk/prefs_dlg.c
@@ -302,17 +302,25 @@ prefs_tree_page_add(const gchar *title, gint page_nr,
static GtkWidget *
prefs_nb_page_add(GtkWidget *notebook, const gchar *title, GtkWidget *page, const char *page_key)
{
+ GtkWidget *sw;
GtkWidget *frame;
+ sw = gtk_scrolled_window_new(NULL, NULL);
+ gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
+ gtk_widget_show(sw);
+
frame = gtk_frame_new(title);
+ gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), frame);
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;
+ gtk_notebook_append_page (GTK_NOTEBOOK(notebook), sw, NULL);
+
+ return sw;
}
#define MAX_TREE_NODE_NAME_LEN 64
@@ -470,6 +478,7 @@ prefs_page_cb(GtkWidget *w _U_, gpointer dummy _U_, PREFS_PAGE_E prefs_page)
}
prefs_w = dlg_conf_window_new("Wireshark: Preferences");
+ gtk_window_set_default_size(GTK_WINDOW(prefs_w), 400, 650);
/*
* Unfortunately, we can't arrange that a GtkTable widget wrap an event box