From 87477035831c6b3a2b4fdc28339b227e1874d685 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Sat, 18 Sep 2010 20:53:43 +0000 Subject: move tabs menu somewhere less annoying svn path=/trunk/netsurf/; revision=10797 --- gtk/gtk_menu.c | 56 +++++++++++++++++++++++++-------------------------- gtk/gtk_menu.h | 17 ++++++++-------- gtk/gtk_scaffolding.c | 10 ++++----- gtk/res/netsurf.glade | 7 ------- 4 files changed, 41 insertions(+), 49 deletions(-) (limited to 'gtk') diff --git a/gtk/gtk_menu.c b/gtk/gtk_menu.c index 92323b208..af9d0b67c 100644 --- a/gtk/gtk_menu.c +++ b/gtk/gtk_menu.c @@ -153,6 +153,31 @@ static struct nsgtk_scaleview_submenu *nsgtk_menu_scaleview_submenu( return ret; } +/** +* creates a tab navigation submenu +* \param group the 'global' in a gtk sense accelerator reference +*/ + +static struct nsgtk_tabs_submenu *nsgtk_menu_tabs_submenu(GtkAccelGroup *group) +{ + struct nsgtk_tabs_submenu *ret = malloc(sizeof(struct nsgtk_tabs_submenu)); + if (ret == NULL) { + warn_user(messages_get("NoMemory"), 0); + return NULL; + } + ret->tabs_menu = GTK_MENU(gtk_menu_new()); + if (ret->tabs_menu == NULL) { + warn_user(messages_get("NoMemory"), 0); + free(ret); + return NULL; + } + IMAGE_ITEM(tabs, nexttab, gtkNextTab, ret, group); + IMAGE_ITEM(tabs, prevtab, gtkPrevTab, ret, group); + IMAGE_ITEM(tabs, closetab, gtkCloseTab, ret, group); + + return ret; +} + /** * creates an images submenu * \param group the 'global' in a gtk sense accelerator reference @@ -337,6 +362,7 @@ static struct nsgtk_view_menu *nsgtk_menu_view_menu(GtkAccelGroup *group, ADD_SEP(view, ret); IMAGE_ITEM(view, images, gtkImages, ret, group); IMAGE_ITEM(view, toolbars, gtkToolbars, ret, group); + IMAGE_ITEM(view, tabs, gtkTabs, ret, group); ADD_SEP(view, ret); IMAGE_ITEM(view, downloads, gtkDownloads, ret, group); IMAGE_ITEM(view, savewindowsize, gtkSaveWindowSize, ret, group); @@ -344,6 +370,7 @@ static struct nsgtk_view_menu *nsgtk_menu_view_menu(GtkAccelGroup *group, SET_SUBMENU(scaleview, ret); SET_SUBMENU(images, ret); SET_SUBMENU(toolbars, ret); + SET_SUBMENU(tabs, ret); SET_SUBMENU(debugging, ret); ATTACH_PARENT(parent, gtkView, ret->view, group); @@ -387,34 +414,6 @@ static struct nsgtk_nav_menu *nsgtk_menu_nav_menu(GtkAccelGroup *group, return ret; } -/** -* creates a tabs menu -* \param group the 'global' in a gtk sense accelerator reference -*/ - -static struct nsgtk_tabs_menu *nsgtk_menu_tabs_menu(GtkAccelGroup *group, - GtkMenuShell *parent) -{ - struct nsgtk_tabs_menu *ret = malloc(sizeof(struct nsgtk_tabs_menu)); - if (ret == NULL) { - warn_user(messages_get("NoMemory"), 0); - return NULL; - } - ret->tabs_menu = GTK_MENU(gtk_menu_new()); - if (ret->tabs_menu == NULL) { - warn_user(messages_get("NoMemory"), 0); - free(ret); - return NULL; - } - IMAGE_ITEM(tabs, nexttab, gtkNextTab, ret, group); - IMAGE_ITEM(tabs, prevtab, gtkPrevTab, ret, group); - IMAGE_ITEM(tabs, closetab, gtkCloseTab, ret, group); - - ATTACH_PARENT(parent, gtkTabs, ret->tabs, group); - - return ret; -} - /** * creates a help menu * \param group the 'global' in a gtk sense accelerator reference @@ -470,7 +469,6 @@ struct nsgtk_menu *nsgtk_menu_create(GladeXML *xml, GtkWindow *window) MENUBAR_MENU(nmenu, edit, menubar); MENUBAR_MENU(nmenu, view, menubar); MENUBAR_MENU(nmenu, nav, menubar); - MENUBAR_MENU(nmenu, tabs, menubar); MENUBAR_MENU(nmenu, help, menubar); return nmenu; diff --git a/gtk/gtk_menu.h b/gtk/gtk_menu.h index 09934b45f..2ddacd891 100644 --- a/gtk/gtk_menu.h +++ b/gtk/gtk_menu.h @@ -60,6 +60,8 @@ struct nsgtk_view_menu { struct nsgtk_images_submenu *images_submenu; GtkImageMenuItem *toolbars_menuitem; struct nsgtk_toolbars_submenu *toolbars_submenu; + GtkImageMenuItem *tabs_menuitem; + struct nsgtk_tabs_submenu *tabs_submenu; GtkImageMenuItem *downloads_menuitem; GtkImageMenuItem *savewindowsize_menuitem; GtkImageMenuItem *debugging_menuitem; @@ -79,14 +81,6 @@ struct nsgtk_nav_menu { GtkImageMenuItem *openlocation_menuitem; }; -struct nsgtk_tabs_menu { - GtkMenuItem *tabs; /* Tabs menu item on menubar */ - GtkMenu *tabs_menu; - GtkImageMenuItem *nexttab_menuitem; - GtkImageMenuItem *prevtab_menuitem; - GtkImageMenuItem *closetab_menuitem; -}; - struct nsgtk_help_menu { GtkMenuItem *help; /* Help menu item on menubar */ GtkMenu *help_menu; @@ -111,6 +105,13 @@ struct nsgtk_scaleview_submenu { GtkImageMenuItem *zoomnormal_menuitem; }; +struct nsgtk_tabs_submenu { + GtkMenu *tabs_menu; + GtkImageMenuItem *nexttab_menuitem; + GtkImageMenuItem *prevtab_menuitem; + GtkImageMenuItem *closetab_menuitem; +}; + struct nsgtk_images_submenu { GtkMenu *images_menu; GtkCheckMenuItem *foregroundimages_menuitem; diff --git a/gtk/gtk_scaffolding.c b/gtk/gtk_scaffolding.c index 861ee3163..b2c7c7dba 100644 --- a/gtk/gtk_scaffolding.c +++ b/gtk/gtk_scaffolding.c @@ -365,7 +365,8 @@ void nsgtk_window_tabs_num_changed(GtkNotebook *notebook, GtkWidget *page, guint page_num, struct gtk_scaffolding *g) { gboolean visible = gtk_notebook_get_show_tabs(g->notebook); - g_object_set(g->menus->tabs->tabs, "visible", visible, NULL); + g_object_set(g->menus->view->tabs_menuitem, "visible", visible, NULL); + g_object_set(g->menus->rclick_view->tabs_menuitem, "visible", visible, NULL); g->buttons[NEXTTAB_BUTTON]->sensitivity = visible; g->buttons[PREVTAB_BUTTON]->sensitivity = visible; g->buttons[CLOSETAB_BUTTON]->sensitivity = visible; @@ -1671,7 +1672,6 @@ nsgtk_scaffolding *nsgtk_new_scaffolding(struct gui_window *toplevel) POPUP_ATTACH(edit); POPUP_ATTACH(view); POPUP_ATTACH(nav); - POPUP_ATTACH(tabs); POPUP_ATTACH(help); #undef POPUP_ATTACH nsgtk_scaffolding_initial_sensitivity(g); @@ -2409,9 +2409,6 @@ void nsgtk_scaffolding_toolbar_init(struct gtk_scaffolding *g) ITEM_MAIN(ADDBOOKMARKS, nav, addbookmarks); ITEM_MAIN(SHOWBOOKMARKS, nav, showbookmarks); ITEM_MAIN(OPENLOCATION, nav, openlocation); - ITEM_MAIN(NEXTTAB, tabs, nexttab); - ITEM_MAIN(PREVTAB, tabs, prevtab); - ITEM_MAIN(CLOSETAB, tabs, closetab); ITEM_MAIN(CONTENTS, help, contents); ITEM_MAIN(INFO, help, info); ITEM_MAIN(GUIDE, help, guide); @@ -2423,6 +2420,9 @@ void nsgtk_scaffolding_toolbar_init(struct gtk_scaffolding *g) ITEM_SUB(ZOOMPLUS, view, scaleview, zoomplus); ITEM_SUB(ZOOMMINUS, view, scaleview, zoomminus); ITEM_SUB(ZOOMNORMAL, view, scaleview, zoomnormal); + ITEM_SUB(NEXTTAB, view, tabs, nexttab); + ITEM_SUB(PREVTAB, view, tabs, prevtab); + ITEM_SUB(CLOSETAB, view, tabs, closetab); ITEM_SUB(TOGGLEDEBUGGING, view, debugging, toggledebugging); ITEM_SUB(SAVEBOXTREE, view, debugging, saveboxtree); ITEM_SUB(SAVEDOMTREE, view, debugging, savedomtree); diff --git a/gtk/res/netsurf.glade b/gtk/res/netsurf.glade index f9d6e48e9..c3aa5789e 100644 --- a/gtk/res/netsurf.glade +++ b/gtk/res/netsurf.glade @@ -238,13 +238,6 @@ True - - - True - Tabs - True - - True -- cgit v1.2.3