[gedit/wip/redesign] Handle documents submenu



commit 30c89509ebf7fadf79a46d5a4245bbf9a4c8b069
Author: Ignacio Casal Quinteiro <icq gnome org>
Date:   Mon May 6 15:01:59 2013 +0200

    Handle documents submenu

 gedit/gedit-commands-documents.c |   39 ++++++++-----
 gedit/gedit-commands-file.c      |   14 +++--
 gedit/gedit-commands.h           |   40 ++++++++-----
 gedit/gedit-ui.h                 |   29 +++------
 gedit/gedit-ui.xml               |   22 -------
 gedit/gedit-window.c             |  122 +++++++++++++++++++-------------------
 gedit/gedit-window.ui            |   50 +++++++++++++++
 7 files changed, 177 insertions(+), 139 deletions(-)
---
diff --git a/gedit/gedit-commands-documents.c b/gedit/gedit-commands-documents.c
index b079f3f..c67ea1f 100644
--- a/gedit/gedit-commands-documents.c
+++ b/gedit/gedit-commands-documents.c
@@ -43,9 +43,11 @@
 #include "gedit-debug.h"
 
 void
-_gedit_cmd_documents_previous_document (GtkAction   *action,
-                                       GeditWindow *window)
+_gedit_cmd_documents_previous_document (GSimpleAction *action,
+                                        GVariant      *parameter,
+                                        gpointer       user_data)
 {
+       GeditWindow *window = GEDIT_WINDOW (user_data);
        GtkNotebook *notebook;
 
        gedit_debug (DEBUG_COMMANDS);
@@ -55,9 +57,11 @@ _gedit_cmd_documents_previous_document (GtkAction   *action,
 }
 
 void
-_gedit_cmd_documents_next_document (GtkAction   *action,
-                                   GeditWindow *window)
+_gedit_cmd_documents_next_document (GSimpleAction *action,
+                                    GVariant      *parameter,
+                                    gpointer       user_data)
 {
+       GeditWindow *window = GEDIT_WINDOW (user_data);
        GtkNotebook *notebook;
 
        gedit_debug (DEBUG_COMMANDS);
@@ -67,9 +71,11 @@ _gedit_cmd_documents_next_document (GtkAction   *action,
 }
 
 void
-_gedit_cmd_documents_move_to_new_window (GtkAction   *action,
-                                        GeditWindow *window)
+_gedit_cmd_documents_move_to_new_window (GSimpleAction *action,
+                                         GVariant      *parameter,
+                                         gpointer       user_data)
 {
+       GeditWindow *window = GEDIT_WINDOW (user_data);
        GeditTab *tab;
 
        gedit_debug (DEBUG_COMMANDS);
@@ -84,24 +90,27 @@ _gedit_cmd_documents_move_to_new_window (GtkAction   *action,
 
 /* Methods releated with the tab groups */
 void
-_gedit_cmd_documents_new_tab_group (GtkAction   *action,
-                                   GeditWindow *window)
+_gedit_cmd_documents_new_tab_group (GSimpleAction *action,
+                                    GVariant      *parameter,
+                                    gpointer       user_data)
 {
-       gedit_multi_notebook_add_new_notebook (GEDIT_MULTI_NOTEBOOK (_gedit_window_get_multi_notebook 
(window)));
+       gedit_multi_notebook_add_new_notebook (GEDIT_MULTI_NOTEBOOK (_gedit_window_get_multi_notebook 
(GEDIT_WINDOW (user_data))));
 }
 
 void
-_gedit_cmd_documents_previous_tab_group (GtkAction   *action,
-                                        GeditWindow *window)
+_gedit_cmd_documents_previous_tab_group (GSimpleAction *action,
+                                         GVariant      *parameter,
+                                         gpointer       user_data)
 {
-       gedit_multi_notebook_previous_notebook (GEDIT_MULTI_NOTEBOOK (_gedit_window_get_multi_notebook 
(window)));
+       gedit_multi_notebook_previous_notebook (GEDIT_MULTI_NOTEBOOK (_gedit_window_get_multi_notebook 
(GEDIT_WINDOW (user_data))));
 }
 
 void
-_gedit_cmd_documents_next_tab_group (GtkAction   *action,
-                                    GeditWindow *window)
+_gedit_cmd_documents_next_tab_group (GSimpleAction *action,
+                                     GVariant      *parameter,
+                                     gpointer       user_data)
 {
-       gedit_multi_notebook_next_notebook (GEDIT_MULTI_NOTEBOOK (_gedit_window_get_multi_notebook (window)));
+       gedit_multi_notebook_next_notebook (GEDIT_MULTI_NOTEBOOK (_gedit_window_get_multi_notebook 
(GEDIT_WINDOW (user_data))));
 }
 
 /* ex:set ts=8 noet: */
diff --git a/gedit/gedit-commands-file.c b/gedit/gedit-commands-file.c
index 7d977de..b9c999a 100644
--- a/gedit/gedit-commands-file.c
+++ b/gedit/gedit-commands-file.c
@@ -1138,10 +1138,11 @@ gedit_commands_save_all_documents (GeditWindow *window)
 }
 
 void
-_gedit_cmd_file_save_all (GtkAction   *action,
-                         GeditWindow *window)
+_gedit_cmd_file_save_all (GSimpleAction *action,
+                          GVariant      *parameter,
+                          gpointer       user_data)
 {
-       gedit_commands_save_all_documents (window);
+       gedit_commands_save_all_documents (GEDIT_WINDOW (user_data));
 }
 
 void
@@ -1919,9 +1920,12 @@ file_close_all (GeditWindow *window,
 }
 
 void
-_gedit_cmd_file_close_all (GtkAction   *action,
-                          GeditWindow *window)
+_gedit_cmd_file_close_all (GSimpleAction *action,
+                           GVariant      *parameter,
+                           gpointer       user_data)
 {
+       GeditWindow *window = GEDIT_WINDOW (user_data);
+
        gedit_debug (DEBUG_COMMANDS);
 
        g_return_if_fail (!(gedit_window_get_state (window) &
diff --git a/gedit/gedit-commands.h b/gedit/gedit-commands.h
index 51eb0e2..2f41f04 100644
--- a/gedit/gedit-commands.h
+++ b/gedit/gedit-commands.h
@@ -85,8 +85,9 @@ void          _gedit_cmd_file_save                    (GSimpleAction *action,
 void           _gedit_cmd_file_save_as                 (GSimpleAction *action,
                                                          GVariant      *parameter,
                                                          gpointer       user_data);
-void           _gedit_cmd_file_save_all                (GtkAction   *action,
-                                                        GeditWindow *window);
+void           _gedit_cmd_file_save_all                (GSimpleAction *action,
+                                                         GVariant      *parameter,
+                                                         gpointer       user_data);
 void           _gedit_cmd_file_revert                  (GSimpleAction *action,
                                                          GVariant      *parameter,
                                                          gpointer       user_data);
@@ -98,8 +99,9 @@ void          _gedit_cmd_file_print                   (GSimpleAction *action,
 void           _gedit_cmd_file_close                   (GSimpleAction *action,
                                                          GVariant      *parameter,
                                                          gpointer       user_data);
-void           _gedit_cmd_file_close_all               (GtkAction   *action,
-                                                        GeditWindow *window);
+void           _gedit_cmd_file_close_all               (GSimpleAction *action,
+                                                         GVariant      *parameter,
+                                                         gpointer       user_data);
 void           _gedit_cmd_file_quit                    (GtkAction   *action,
                                                         GeditWindow *window);
 
@@ -146,18 +148,24 @@ void              _gedit_cmd_search_goto_line             (GSimpleAction *action,
                                                          GVariant      *parameter,
                                                          gpointer       user_data);
 
-void           _gedit_cmd_documents_previous_document  (GtkAction   *action,
-                                                        GeditWindow *window);
-void           _gedit_cmd_documents_next_document      (GtkAction   *action,
-                                                        GeditWindow *window);
-void           _gedit_cmd_documents_move_to_new_window (GtkAction   *action,
-                                                        GeditWindow *window);
-void           _gedit_cmd_documents_new_tab_group      (GtkAction   *action,
-                                                        GeditWindow *window);
-void           _gedit_cmd_documents_previous_tab_group (GtkAction   *action,
-                                                        GeditWindow *window);
-void           _gedit_cmd_documents_next_tab_group     (GtkAction   *action,
-                                                        GeditWindow *window);
+void           _gedit_cmd_documents_previous_document  (GSimpleAction *action,
+                                                         GVariant      *parameter,
+                                                         gpointer       user_data);
+void           _gedit_cmd_documents_next_document      (GSimpleAction *action,
+                                                         GVariant      *parameter,
+                                                         gpointer       user_data);
+void           _gedit_cmd_documents_move_to_new_window (GSimpleAction *action,
+                                                         GVariant      *parameter,
+                                                         gpointer       user_data);
+void           _gedit_cmd_documents_new_tab_group      (GSimpleAction *action,
+                                                         GVariant      *parameter,
+                                                         gpointer       user_data);
+void           _gedit_cmd_documents_previous_tab_group (GSimpleAction *action,
+                                                         GVariant      *parameter,
+                                                         gpointer       user_data);
+void           _gedit_cmd_documents_next_tab_group     (GSimpleAction *action,
+                                                         GVariant      *parameter,
+                                                         gpointer       user_data);
 
 void           _gedit_cmd_help_contents                (GtkAction   *action,
                                                         GeditWindow *window);
diff --git a/gedit/gedit-ui.h b/gedit/gedit-ui.h
index 3400935..e59f2ab 100644
--- a/gedit/gedit-ui.h
+++ b/gedit/gedit-ui.h
@@ -45,7 +45,6 @@ static const GtkActionEntry gedit_always_sensitive_menu_entries[] =
        { "View", NULL, N_("_View") },
        { "Search", NULL, N_("_Search") },
        { "Tools", NULL, N_("_Tools") },
-       { "Documents", NULL, N_("_Documents") },
        { "Help", NULL, N_("_Help") },
 };
 
@@ -69,24 +68,6 @@ static const GtkActionEntry gedit_menu_entries[] =
 
        /* View menu */
        { "ViewHighlightMode", NULL, N_("_Highlight Mode") },
-
-       /* Documents menu */
-       { "FileSaveAll", GTK_STOCK_SAVE, N_("_Save All"), "<shift><control>L",
-         N_("Save all open files"), G_CALLBACK (_gedit_cmd_file_save_all) },
-       { "FileCloseAll", GTK_STOCK_CLOSE, N_("_Close All"), "<shift><control>W",
-         N_("Close all open files"), G_CALLBACK (_gedit_cmd_file_close_all) },
-       { "DocumentsNewTabGroup", NULL, N_("_New Tab Group"), "<alt><control>N",
-         N_("Create a new tab group"), G_CALLBACK (_gedit_cmd_documents_new_tab_group) },
-       { "DocumentsPreviousTabGroup", NULL, N_("P_revious Tab Group"), "<shift><alt><control>Page_Up",
-         N_("Switch to the previous tab group"), G_CALLBACK (_gedit_cmd_documents_previous_tab_group) },
-       { "DocumentsNextTabGroup", NULL, N_("Nex_t Tab Group"), "<shift><alt><control>Page_Down",
-         N_("Switch to the next tab group"), G_CALLBACK (_gedit_cmd_documents_next_tab_group) },
-       { "DocumentsPreviousDocument", NULL, N_("_Previous Document"), "<alt><control>Page_Up",
-         N_("Activate previous document"), G_CALLBACK (_gedit_cmd_documents_previous_document) },
-       { "DocumentsNextDocument", NULL, N_("N_ext Document"), "<alt><control>Page_Down",
-         N_("Activate next document"), G_CALLBACK (_gedit_cmd_documents_next_document) },
-       { "DocumentsMoveToNewWindow", NULL, N_("_Move to New Window"), NULL,
-         N_("Move the current document to a new window"), G_CALLBACK 
(_gedit_cmd_documents_move_to_new_window) }
 };
 
 /* separate group, should be sensitive even when there are no tabs */
@@ -111,7 +92,15 @@ static GActionEntry win_entries[] = {
        { "find_prev", _gedit_cmd_search_find_prev },
        { "replace", _gedit_cmd_search_replace },
        { "clear_highlight", _gedit_cmd_search_clear_highlight },
-       { "goto_line", _gedit_cmd_search_goto_line }
+       { "goto_line", _gedit_cmd_search_goto_line },
+       { "save_all", _gedit_cmd_file_save_all },
+       { "close_all", _gedit_cmd_file_close_all },
+       { "new_tab_group", _gedit_cmd_documents_new_tab_group },
+       { "previous_tab_group", _gedit_cmd_documents_previous_tab_group },
+       { "next_tab_group", _gedit_cmd_documents_next_tab_group },
+       { "previous_document", _gedit_cmd_documents_previous_document },
+       { "next_document", _gedit_cmd_documents_next_document },
+       { "move_to_new_window", _gedit_cmd_documents_move_to_new_window }
 };
 
 G_END_DECLS
diff --git a/gedit/gedit-ui.xml b/gedit/gedit-ui.xml
index 30a97f6..ff124c9 100644
--- a/gedit/gedit-ui.xml
+++ b/gedit/gedit-ui.xml
@@ -84,28 +84,6 @@
 
     <placeholder name="ExtraMenu_1" />
 
-    <menu name="DocumentsMenu" action="Documents">
-      <menuitem action="FileSaveAll" />
-      <menuitem action="FileCloseAll" />
-      <separator />
-      <menuitem action="DocumentsNewTabGroup"/>
-      <menuitem action="DocumentsPreviousTabGroup"/>
-      <menuitem action="DocumentsNextTabGroup"/>
-      <separator />
-      <placeholder name="DocumentsOps_1" />
-      <separator/>
-      <placeholder name="DocumentsOps_2" />
-      <separator/>
-      <placeholder name="DocumentsOps_3" />
-      <menuitem action="DocumentsPreviousDocument" />      
-      <menuitem action="DocumentsNextDocument" />
-      <separator/>
-      <menuitem action="DocumentsMoveToNewWindow"/>
-      <placeholder name="DocumentsListPlaceholder">
-      <separator/>
-      </placeholder>
-    </menu>
-
     <menu name="HelpMenu" action="Help">
      <placeholder name="HelpOps_1" />
      <separator/>
diff --git a/gedit/gedit-window.c b/gedit/gedit-window.c
index 68f1f8c..50192b1 100644
--- a/gedit/gedit-window.c
+++ b/gedit/gedit-window.c
@@ -446,7 +446,7 @@ update_next_prev_doc_sensitivity (GeditWindow *window,
 {
        GeditNotebook *notebook;
        gint tab_number;
-       GtkAction *action;
+       GAction *action;
 
        gedit_debug (DEBUG_WINDOW);
 
@@ -455,21 +455,22 @@ update_next_prev_doc_sensitivity (GeditWindow *window,
 
        g_return_if_fail (tab_number >= 0);
 
-       action = gtk_action_group_get_action (window->priv->action_group,
-                                             "DocumentsPreviousDocument");
-       gtk_action_set_sensitive (action, tab_number != 0);
+       action = g_action_map_lookup_action (G_ACTION_MAP (window),
+                                            "previous_document");
+       g_simple_action_set_enabled (G_SIMPLE_ACTION (action),
+                                    tab_number != 0);
 
-       action = gtk_action_group_get_action (window->priv->action_group,
-                                             "DocumentsNextDocument");
-       gtk_action_set_sensitive (action,
-                                 tab_number < gtk_notebook_get_n_pages (GTK_NOTEBOOK (notebook)) - 1);
+       action = g_action_map_lookup_action (G_ACTION_MAP (window),
+                                            "next_document");
+       g_simple_action_set_enabled (G_SIMPLE_ACTION (action),
+                                    tab_number < gtk_notebook_get_n_pages (GTK_NOTEBOOK (notebook)) - 1);
 }
 
 static void
 update_next_prev_doc_sensitivity_per_window (GeditWindow *window)
 {
        GeditTab *tab;
-       GtkAction *action;
+       GAction *action;
 
        gedit_debug (DEBUG_WINDOW);
 
@@ -481,13 +482,13 @@ update_next_prev_doc_sensitivity_per_window (GeditWindow *window)
                return;
        }
 
-       action = gtk_action_group_get_action (window->priv->action_group,
-                                             "DocumentsPreviousDocument");
-       gtk_action_set_sensitive (action, FALSE);
+       action = g_action_map_lookup_action (G_ACTION_MAP (window),
+                                            "previous_document");
+       g_simple_action_set_enabled (G_SIMPLE_ACTION (action), FALSE);
 
-       action = gtk_action_group_get_action (window->priv->action_group,
-                                             "DocumentsNextDocument");
-       gtk_action_set_sensitive (action, FALSE);
+       action = g_action_map_lookup_action (G_ACTION_MAP (window),
+                                            "next_document");
+       g_simple_action_set_enabled (G_SIMPLE_ACTION (action), FALSE);
 }
 
 static void
@@ -2118,8 +2119,7 @@ tab_switched (GeditMultiNotebook *mnb,
 static void
 set_sensitivity_according_to_window_state (GeditWindow *window)
 {
-       GtkAction *action;
-       GAction *gaction;
+       GAction *action;
        GeditLockdownMask lockdown;
        gint num_tabs;
 
@@ -2134,17 +2134,15 @@ set_sensitivity_according_to_window_state (GeditWindow *window)
                                  !(window->priv->state & GEDIT_WINDOW_STATE_SAVING) &&
                                  !(window->priv->state & GEDIT_WINDOW_STATE_PRINTING));
 
-       action = gtk_action_group_get_action (window->priv->action_group,
-                                             "FileCloseAll");
-       gtk_action_set_sensitive (action,
-                                 !(window->priv->state & GEDIT_WINDOW_STATE_SAVING) &&
-                                 !(window->priv->state & GEDIT_WINDOW_STATE_PRINTING));
+       action = g_action_map_lookup_action (G_ACTION_MAP (window), "close_all");
+       g_simple_action_set_enabled (G_SIMPLE_ACTION (action),
+                                    !(window->priv->state & GEDIT_WINDOW_STATE_SAVING) &&
+                                    !(window->priv->state & GEDIT_WINDOW_STATE_PRINTING));
 
-       action = gtk_action_group_get_action (window->priv->action_group,
-                                             "FileSaveAll");
-       gtk_action_set_sensitive (action,
-                                 !(window->priv->state & GEDIT_WINDOW_STATE_PRINTING) &&
-                                 !(lockdown & GEDIT_LOCKDOWN_SAVE_TO_DISK));
+       action = g_action_map_lookup_action (G_ACTION_MAP (window), "save_all");
+       g_simple_action_set_enabled (G_SIMPLE_ACTION (action),
+                                    !(window->priv->state & GEDIT_WINDOW_STATE_PRINTING) &&
+                                    !(lockdown & GEDIT_LOCKDOWN_SAVE_TO_DISK));
 
        num_tabs = gedit_multi_notebook_get_n_tabs (window->priv->multi_notebook);
 
@@ -2160,14 +2158,14 @@ set_sensitivity_according_to_window_state (GeditWindow *window)
                                                num_tabs > 0);
        }
 
-       gaction = g_action_map_lookup_action (G_ACTION_MAP (window), "close");
-       if (!g_action_get_enabled (gaction))
+       action = g_action_map_lookup_action (G_ACTION_MAP (window), "close");
+       if (!g_action_get_enabled (action))
        {
 #ifdef OS_OSX
                /* On OS X, File Close is always sensitive */
-               g_simple_action_set_enabled (G_SIMPLE_ACTION (gaction), TRUE);
+               g_simple_action_set_enabled (G_SIMPLE_ACTION (action), TRUE);
 #else
-               g_simple_action_set_enabled (G_SIMPLE_ACTION (gaction), num_tabs > 0);
+               g_simple_action_set_enabled (G_SIMPLE_ACTION (action), num_tabs > 0);
 #endif
        }
 }
@@ -2184,7 +2182,7 @@ _gedit_window_set_lockdown (GeditWindow       *window,
                            GeditLockdownMask  lockdown)
 {
        GeditTab *tab;
-       GtkAction *action;
+       GAction *action;
        gboolean autosave;
 
        /* start/stop autosave in each existing tab */
@@ -2200,11 +2198,10 @@ _gedit_window_set_lockdown (GeditWindow       *window,
 
        set_sensitivity_according_to_tab (window, tab);
 
-       action = gtk_action_group_get_action (window->priv->action_group,
-                                             "FileSaveAll");
-       gtk_action_set_sensitive (action,
-                                 !(window->priv->state & GEDIT_WINDOW_STATE_PRINTING) &&
-                                 !(lockdown & GEDIT_LOCKDOWN_SAVE_TO_DISK));
+       action = g_action_map_lookup_action (G_ACTION_MAP (window), "save_all");
+       g_simple_action_set_enabled (G_SIMPLE_ACTION (action),
+                                    !(window->priv->state & GEDIT_WINDOW_STATE_PRINTING) &&
+                                    !(lockdown & GEDIT_LOCKDOWN_SAVE_TO_DISK));
 }
 
 static void
@@ -2352,13 +2349,16 @@ sync_name (GeditTab    *tab,
 
        if (tab == gedit_window_get_active_tab (window))
        {
+               GAction *gaction;
+
                set_title (window);
 
                doc = gedit_tab_get_document (tab);
-               action = gtk_action_group_get_action (window->priv->action_group,
-                                                     "FileRevert");
-               gtk_action_set_sensitive (action,
-                                         !gedit_document_is_untitled (doc));
+               
+               gaction = g_action_map_lookup_action (G_ACTION_MAP (window),
+                                                     "revert");
+               g_simple_action_set_enabled (G_SIMPLE_ACTION (gaction),
+                                            !gedit_document_is_untitled (doc));
        }
 
        /* sync the item in the documents list menu */
@@ -2691,14 +2691,15 @@ can_search_again (GeditDocument *doc,
                                             "clear_highlight");
        g_simple_action_set_enabled (G_SIMPLE_ACTION (action), enabled);
 
-       /* FIXME
-       action = gtk_action_group_get_action (window->priv->action_group,
-                                             "SearchFindNext");
-       gtk_action_set_sensitive (action, sensitive);
 
-       action = gtk_action_group_get_action (window->priv->action_group,
-                                             "SearchFindPrevious");
-       gtk_action_set_sensitive (action, sensitive);*/
+       action = g_action_map_lookup_action (G_ACTION_MAP (window),
+                                            "find_next");
+       g_simple_action_set_enabled (G_SIMPLE_ACTION (action), enabled);
+
+
+       action = g_action_map_lookup_action (G_ACTION_MAP (window),
+                                            "find_previous");
+       g_simple_action_set_enabled (G_SIMPLE_ACTION (action), enabled);
 }
 
 static void
@@ -2828,29 +2829,28 @@ update_sensitivity_according_to_open_tabs (GeditWindow *window,
                                           gint         num_notebooks,
                                           gint         num_tabs)
 {
-       GtkAction *action;
-       GAction *gaction;
+       GAction *action;
 
        /* Set sensitivity */
        gtk_action_group_set_sensitive (window->priv->action_group,
                                        num_tabs != 0);
 
-       action = gtk_action_group_get_action (window->priv->action_group,
-                                            "DocumentsMoveToNewWindow");
-       gtk_action_set_sensitive (action, num_tabs > 1);
+       action = g_action_map_lookup_action (G_ACTION_MAP (window), "move_to_new_window");
+       g_simple_action_set_enabled (G_SIMPLE_ACTION (action),
+                                    num_tabs > 1);
 
-       action = gtk_action_group_get_action (window->priv->action_group,
-                                             "DocumentsPreviousTabGroup");
-       gtk_action_set_sensitive (action, num_notebooks > 1);
+       action = g_action_map_lookup_action (G_ACTION_MAP (window), "previous_tab_group");
+       g_simple_action_set_enabled (G_SIMPLE_ACTION (action),
+                                    num_notebooks > 1);
 
-       action = gtk_action_group_get_action (window->priv->action_group,
-                                             "DocumentsNextTabGroup");
-       gtk_action_set_sensitive (action, num_notebooks > 1);
+       action = g_action_map_lookup_action (G_ACTION_MAP (window), "next_tab_group");
+       g_simple_action_set_enabled (G_SIMPLE_ACTION (action),
+                                    num_notebooks > 1);
 
        /* Do not set close action insensitive on OS X */
 #ifndef OS_OSX
-       gaction = g_action_map_lookup_action (G_ACTION_MAP (window), "close");
-       g_simple_action_set_enabled (G_SIMPLE_ACTION (gaction),
+       action = g_action_map_lookup_action (G_ACTION_MAP (window), "close");
+       g_simple_action_set_enabled (G_SIMPLE_ACTION (action),
                                     num_tabs != 0);
 #endif
 }
diff --git a/gedit/gedit-window.ui b/gedit/gedit-window.ui
index be9290c..278caf4 100644
--- a/gedit/gedit-window.ui
+++ b/gedit/gedit-window.ui
@@ -38,6 +38,56 @@
         <attribute name="label" translatable="yes">_Revert</attribute>
         <attribute name="action">win.revert</attribute>
       </item>
+      <submenu>
+        <attribute name="label" translatable="yes">_Documents</attribute>
+        <section>
+          <item>
+            <attribute name="label" translatable="yes">_Save All</attribute>
+            <attribute name="action">win.save_all</attribute>
+            <attribute name="accel">&lt;Primary&gt;&lt;Shift&gt;l</attribute>
+          </item>
+          <item>
+            <attribute name="label" translatable="yes">_Close All</attribute>
+            <attribute name="action">win.close_all</attribute>
+            <attribute name="accel">&lt;Primary&gt;&lt;Shift&gt;w</attribute>
+          </item>
+        </section>
+        <section>
+          <item>
+            <attribute name="label" translatable="yes">_New Tab Group</attribute>
+            <attribute name="action">win.new_tab_group</attribute>
+            <attribute name="accel">&lt;Primary&gt;&lt;Alt&gt;n</attribute>
+          </item>
+          <item>
+            <attribute name="label" translatable="yes">P_revious Tab Group</attribute>
+            <attribute name="action">win.previous_tab_group</attribute>
+            <attribute name="accel">&lt;Primary&gt;&lt;Shift&gt;&lt;Alt&gt;Page_Up</attribute>
+          </item>
+          <item>
+            <attribute name="label" translatable="yes">Nex_t Tab Group</attribute>
+            <attribute name="action">win.next_tab_group</attribute>
+            <attribute name="accel">&lt;Primary&gt;&lt;Shift&gt;&lt;Alt&gt;Page_Down</attribute>
+          </item>
+        </section>
+        <section>
+          <item>
+            <attribute name="label" translatable="yes">_Previous Document</attribute>
+            <attribute name="action">win.previous_document</attribute>
+            <attribute name="accel">&lt;Primary&gt;&lt;Alt&gt;Page_Up</attribute>
+          </item>
+          <item>
+            <attribute name="label" translatable="yes">N_ext Document</attribute>
+            <attribute name="action">win.next_document</attribute>
+            <attribute name="accel">&lt;Primary&gt;&lt;Alt&gt;Page_Down</attribute>
+          </item>
+        </section>
+        <section>
+          <item>
+            <attribute name="label" translatable="yes">_Move to New Window</attribute>
+            <attribute name="action">win.move_to_new_window</attribute>
+          </item>
+        </section>
+      </submenu>
     </section>
     <section>
       <item>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]