summaryrefslogtreecommitdiff
path: root/gtk/gtk_tabs.c
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@netsurf-browser.org>2008-09-16 13:32:12 +0000
committerDaniel Silverstone <dsilvers@netsurf-browser.org>2008-09-16 13:32:12 +0000
commit6e0a71f63119799058803d37c98e5df6a60924e5 (patch)
tree260dcaa0ba56e17b96b99e26ec570c798a76a3e5 /gtk/gtk_tabs.c
parent118c7ac1d3adf2a86536880f6b81fecaedddfd40 (diff)
downloadnetsurf-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.c19
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)