diff options
author | Daniel Silverstone <dsilvers@netsurf-browser.org> | 2008-09-16 13:32:12 +0000 |
---|---|---|
committer | Daniel Silverstone <dsilvers@netsurf-browser.org> | 2008-09-16 13:32:12 +0000 |
commit | 6e0a71f63119799058803d37c98e5df6a60924e5 (patch) | |
tree | 260dcaa0ba56e17b96b99e26ec570c798a76a3e5 /gtk/gtk_tabs.c | |
parent | 118c7ac1d3adf2a86536880f6b81fecaedddfd40 (diff) | |
download | netsurf-6e0a71f63119799058803d37c98e5df6a60924e5.tar.gz netsurf-6e0a71f63119799058803d37c98e5df6a60924e5.tar.bz2 |
Add support for displaying the tab bar if there's only one tab.
svn path=/trunk/netsurf/; revision=5348
Diffstat (limited to 'gtk/gtk_tabs.c')
-rw-r--r-- | gtk/gtk_tabs.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/gtk/gtk_tabs.c b/gtk/gtk_tabs.c index 6595086ca..c8ae0cdde 100644 --- a/gtk/gtk_tabs.c +++ b/gtk/gtk_tabs.c @@ -21,6 +21,8 @@ #include "gtk/gtk_gui.h" #include "desktop/browser.h" #include "content/content.h" +#include "desktop/options.h" +#include "gtk/options.h" #define TAB_WIDTH_N_CHARS 15 #define GET_WIDGET(x) glade_xml_get_widget(gladeWindows, (x)) @@ -34,15 +36,21 @@ static void nsgtk_tab_update_size(GtkWidget *hbox, GtkStyle *previous_style, static void nsgtk_tab_page_changed(GtkNotebook *notebook, GtkNotebookPage *page, gint page_num); +void nsgtk_tab_options_changed(GtkWidget *tabs) +{ + nsgtk_tab_visibility_update(GTK_NOTEBOOK(tabs), NULL, 0); +} + void nsgtk_tab_init(GtkWidget *tabs) { g_signal_connect(tabs, "switch-page", - G_CALLBACK(nsgtk_tab_page_changed), NULL); + G_CALLBACK(nsgtk_tab_page_changed), NULL); g_signal_connect(tabs, "page-removed", - G_CALLBACK(nsgtk_tab_visibility_update), NULL); + G_CALLBACK(nsgtk_tab_visibility_update), NULL); g_signal_connect(tabs, "page-added", - G_CALLBACK(nsgtk_tab_visibility_update), NULL); + G_CALLBACK(nsgtk_tab_visibility_update), NULL); + nsgtk_tab_options_changed(tabs); } void nsgtk_tab_add(struct gui_window *window) @@ -62,7 +70,10 @@ void nsgtk_tab_visibility_update(GtkNotebook *notebook, GtkWidget *child, guint page) { gint num_pages = gtk_notebook_get_n_pages(notebook); - gtk_notebook_set_show_tabs(notebook, num_pages - 1); + if (option_show_single_tab == true || num_pages > 1) + gtk_notebook_set_show_tabs(notebook, TRUE); + else + gtk_notebook_set_show_tabs(notebook, FALSE); } void nsgtk_tab_set_title(struct gui_window *g, const char *title) |