From 89fb88f6dee5322beb3161497cab7a848cb9a4a8 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Sun, 18 Aug 2019 23:45:19 +0100 Subject: move toolbar to be in tab contents --- frontends/gtk/res/netsurf.gtk2.ui | 15 +--- frontends/gtk/res/tabcontents.gtk2.ui | 130 ++++++++++++++++++++++++++++++++++ frontends/gtk/scaffolding.c | 10 +-- frontends/gtk/window.c | 18 ++++- 4 files changed, 149 insertions(+), 24 deletions(-) diff --git a/frontends/gtk/res/netsurf.gtk2.ui b/frontends/gtk/res/netsurf.gtk2.ui index 68812b364..431eab41c 100644 --- a/frontends/gtk/res/netsurf.gtk2.ui +++ b/frontends/gtk/res/netsurf.gtk2.ui @@ -37,17 +37,6 @@ False - - - True - GTK_TOOLBAR_BOTH_HORIZ - - - False - False - 1 - - GTK_TOOLBAR_BOTH @@ -156,7 +145,7 @@ False False - 2 + 1 @@ -203,7 +192,7 @@ - 3 + 2 diff --git a/frontends/gtk/res/tabcontents.gtk2.ui b/frontends/gtk/res/tabcontents.gtk2.ui index 63e290e8b..cbd775971 100644 --- a/frontends/gtk/res/tabcontents.gtk2.ui +++ b/frontends/gtk/res/tabcontents.gtk2.ui @@ -2,6 +2,131 @@ + + True + + + True + GTK_TOOLBAR_BOTH_HORIZ + + + False + False + 1 + + + + + GTK_TOOLBAR_BOTH + + + True + gtk-close + + + False + + + + + True + + + True + 4 + Match + + + + + False + False + + + + + True + + + True + True + + + + + False + False + + + + + True + Search _Back + True + gtk-go-back + + + False + + + + + True + Search _Forward + True + gtk-go-forward + + + False + + + + + True + + + True + True + show all matches + All + True + True + + + + + False + False + + + + + True + + + True + True + Match case when searching + Case + GTK_RELIEF_NONE + True + True + + + + + False + False + + + + + False + False + 2 + + + True 2 @@ -77,6 +202,11 @@ + + 3 + + + 100 30 diff --git a/frontends/gtk/scaffolding.c b/frontends/gtk/scaffolding.c index f142d106e..f9eab820a 100644 --- a/frontends/gtk/scaffolding.c +++ b/frontends/gtk/scaffolding.c @@ -124,9 +124,6 @@ struct nsgtk_scaffolding { /** In page text search context */ struct gtk_search *search; - /** controls toolbar context */ - struct nsgtk_toolbar *toolbar; - /** menu bar hierarchy */ struct nsgtk_bar_submenu *menu_bar; @@ -2053,7 +2050,7 @@ nsgtk_search_create(GtkBuilder *builder, struct gtk_search **search_out) /* exported interface documented in gtk/scaffolding.h */ void nsgtk_scaffolding_toolbars(struct nsgtk_scaffolding *g) { - nsgtk_toolbar_update(g->toolbar); + // nsgtk_toolbar_update(g->toolbar); nsgtk_search_update(g->search); } @@ -2573,11 +2570,6 @@ struct nsgtk_scaffolding *nsgtk_new_scaffolding(struct gui_window *toplevel) gs->window = GTK_WINDOW(gtk_builder_get_object(gs->builder, "wndBrowser")); gs->notebook = GTK_NOTEBOOK(gtk_builder_get_object(gs->builder, "notebook")); - res = nsgtk_toolbar_create(gs->builder, &gs->toolbar); - if (res != NSERROR_OK) { - free(gs); - return NULL; - } res = nsgtk_search_create(gs->builder, &gs->search); if (res != NSERROR_OK) { diff --git a/frontends/gtk/window.c b/frontends/gtk/window.c index fc893c92f..1c21a3eb6 100644 --- a/frontends/gtk/window.c +++ b/frontends/gtk/window.c @@ -95,7 +95,10 @@ struct gui_window { /** previous event location */ int last_x, last_y; - /** The top level container (tabContents) */ + /** controls toolbar context */ + struct nsgtk_toolbar *toolbar; + + /** The top level container (tabBox) */ GtkWidget *container; /** display widget for this page or frame */ @@ -767,12 +770,20 @@ gui_window_create(struct browser_window *bw, } /* Construct our primary elements */ - g->container = GTK_WIDGET(gtk_builder_get_object(tab_builder, "tabContents")); + g->container = GTK_WIDGET(gtk_builder_get_object(tab_builder, "tabBox")); g->layout = GTK_LAYOUT(gtk_builder_get_object(tab_builder, "layout")); g->status_bar = GTK_LABEL(gtk_builder_get_object(tab_builder, "status_bar")); g->paned = GTK_PANED(gtk_builder_get_object(tab_builder, "hpaned1")); g->input_method = gtk_im_multicontext_new(); + + res = nsgtk_toolbar_create(tab_builder, &g->toolbar); + if (res != NSERROR_OK) { + free(g); + g_object_unref(tab_builder); + return NULL; + } + /* set a default favicon */ g_object_ref(favicon_pixbuf); g->icon = favicon_pixbuf; @@ -863,6 +874,9 @@ gui_window_create(struct browser_window *bw, } nsgtk_tab_add(g, g->container, tempback, messages_get("NewTab"), g->icon); + /* \todo move search bar properly */ + gtk_widget_hide(GTK_WIDGET(gtk_builder_get_object(tab_builder, "searchbar"))); + /* safe to drop the reference to the tab_builder as the container is * referenced by the notebook now. */ -- cgit v1.2.3