move tabs menu somewhere less annoying

svn path=/trunk/netsurf/; revision=10797
This commit is contained in:
Vincent Sanders 2010-09-18 20:53:43 +00:00
parent ae4339a970
commit 8747703583
4 changed files with 41 additions and 49 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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);

View File

@ -238,13 +238,6 @@
<property name="use_underline">True</property>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="menupopup_tabs">
<property name="visible">True</property>
<property name="label" translatable="yes">Tabs</property>
<property name="use_underline">True</property>
</widget>
</child>
<child>
<widget class="GtkMenuItem" id="menupopup_help">
<property name="visible">True</property>