summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
authorVincent Sanders <vince@netsurf-browser.org>2010-09-18 20:53:43 +0000
committerVincent Sanders <vince@netsurf-browser.org>2010-09-18 20:53:43 +0000
commit87477035831c6b3a2b4fdc28339b227e1874d685 (patch)
treeb2d774764af2adde905666148efb5516b9e2cbb9 /gtk
parentae4339a97063fc6d51f27284178d6658677969f6 (diff)
downloadnetsurf-87477035831c6b3a2b4fdc28339b227e1874d685.tar.gz
netsurf-87477035831c6b3a2b4fdc28339b227e1874d685.tar.bz2
move tabs menu somewhere less annoying
svn path=/trunk/netsurf/; revision=10797
Diffstat (limited to 'gtk')
-rw-r--r--gtk/gtk_menu.c56
-rw-r--r--gtk/gtk_menu.h17
-rw-r--r--gtk/gtk_scaffolding.c10
-rw-r--r--gtk/res/netsurf.glade7
4 files changed, 41 insertions, 49 deletions
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
@@ -154,6 +154,31 @@ static struct nsgtk_scaleview_submenu *nsgtk_menu_scaleview_submenu(
}
/**
+* 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);
@@ -388,34 +415,6 @@ static struct nsgtk_nav_menu *nsgtk_menu_nav_menu(GtkAccelGroup *group,
}
/**
-* 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
@@ -239,13 +239,6 @@
</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>
<property name="label" translatable="yes">Help</property>