[nautilus/2070-menu-item-re-organization: 114/116] toolbar: Move zoom controls to primary menu




commit 742ccaf97f499895ad841a00620162fa0f9cff5b
Author: António Fernandes <antoniof gnome org>
Date:   Mon Jan 10 12:54:01 2022 +0000

    toolbar: Move zoom controls to primary menu
    
    This is where other apps usually have zoom controls.
    
    Closes https://gitlab.gnome.org/GNOME/nautilus/-/issues/2070

 src/nautilus-files-view.c                      |  2 --
 src/nautilus-toolbar-menu-sections.h           |  1 -
 src/nautilus-toolbar.c                         | 11 +++--------
 src/resources/ui/nautilus-toolbar-view-menu.ui | 12 ------------
 src/resources/ui/nautilus-toolbar.ui           | 24 ++++++++++++++----------
 5 files changed, 17 insertions(+), 33 deletions(-)
---
diff --git a/src/nautilus-files-view.c b/src/nautilus-files-view.c
index d979a7350..2223d0bdf 100644
--- a/src/nautilus-files-view.c
+++ b/src/nautilus-files-view.c
@@ -3333,7 +3333,6 @@ nautilus_files_view_finalize (GObject *object)
     g_clear_object (&priv->view_action_group);
     g_clear_object (&priv->background_menu_model);
     g_clear_object (&priv->selection_menu_model);
-    g_clear_object (&priv->toolbar_menu_sections->zoom_section);
     g_clear_object (&priv->toolbar_menu_sections->sort_section);
     g_clear_object (&priv->extensions_background_menu);
     g_clear_object (&priv->templates_menu);
@@ -9497,7 +9496,6 @@ nautilus_files_view_init (NautilusFilesView *view)
     /* Toolbar menu */
     builder = gtk_builder_new_from_resource ("/org/gnome/nautilus/ui/nautilus-toolbar-view-menu.ui");
     priv->toolbar_menu_sections = g_new0 (NautilusToolbarMenuSections, 1);
-    priv->toolbar_menu_sections->zoom_section = G_MENU_MODEL (g_object_ref (gtk_builder_get_object (builder, 
"zoom_section")));
     priv->toolbar_menu_sections->sort_section = G_MENU_MODEL (g_object_ref (gtk_builder_get_object (builder, 
"sort_section")));
 
     g_signal_connect (view,
diff --git a/src/nautilus-toolbar-menu-sections.h b/src/nautilus-toolbar-menu-sections.h
index 9b5c136fb..8f5a98667 100644
--- a/src/nautilus-toolbar-menu-sections.h
+++ b/src/nautilus-toolbar-menu-sections.h
@@ -25,7 +25,6 @@ typedef struct _NautilusToolbarMenuSections NautilusToolbarMenuSections;
 
 struct _NautilusToolbarMenuSections {
         GMenuModel *sort_section;
-        GMenuModel *zoom_section;
 };
 
 G_END_DECLS
diff --git a/src/nautilus-toolbar.c b/src/nautilus-toolbar.c
index 835d8add1..57fe64dc3 100644
--- a/src/nautilus-toolbar.c
+++ b/src/nautilus-toolbar.c
@@ -1230,18 +1230,13 @@ on_slot_toolbar_menu_sections_changed (NautilusToolbar    *self,
         return;
     }
 
-    /* Let's assume that zoom and sort sections are the first and second items
+    /* Let's assume that sort section is the first item
      * in view_menu, as per nautilus-toolbar.ui. */
 
-    zoom_item = g_menu_item_new_from_model (self->view_menu, 0);
+    sort_item = g_menu_item_new_from_model (self->view_menu, 0);
     g_menu_remove (G_MENU (self->view_menu), 0);
-    g_menu_item_set_section (zoom_item, new_sections->zoom_section);
-    g_menu_insert_item (G_MENU (self->view_menu), 0, zoom_item);
-
-    sort_item = g_menu_item_new_from_model (self->view_menu, 1);
-    g_menu_remove (G_MENU (self->view_menu), 1);
     g_menu_item_set_section (sort_item, new_sections->sort_section);
-    g_menu_insert_item (G_MENU (self->view_menu), 1, sort_item);
+    g_menu_insert_item (G_MENU (self->view_menu), 0, sort_item);
 }
 
 
diff --git a/src/resources/ui/nautilus-toolbar-view-menu.ui b/src/resources/ui/nautilus-toolbar-view-menu.ui
index 2d0260ee5..291408b11 100644
--- a/src/resources/ui/nautilus-toolbar-view-menu.ui
+++ b/src/resources/ui/nautilus-toolbar-view-menu.ui
@@ -1,18 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
   <requires lib="gtk" version="4.0"/>
-  <menu id="zoom_section">
-    <item>
-      <attribute name="label" translatable="yes">Zoom out</attribute>
-      <attribute name="action">view.zoom-out</attribute>
-      <attribute name="verb-icon">zoom-out-symbolic</attribute>
-    </item>
-    <item>
-      <attribute name="label" translatable="yes">Zoom in</attribute>
-      <attribute name="action">view.zoom-in</attribute>
-      <attribute name="verb-icon">zoom-in-symbolic</attribute>
-    </item>
-  </menu>
   <menu id="sort_section">
     <item>
       <attribute name="action">view.sort</attribute>
diff --git a/src/resources/ui/nautilus-toolbar.ui b/src/resources/ui/nautilus-toolbar.ui
index e8e6776ac..15c2afda6 100644
--- a/src/resources/ui/nautilus-toolbar.ui
+++ b/src/resources/ui/nautilus-toolbar.ui
@@ -4,16 +4,6 @@
   <object class="GtkPopoverMenu" id="back_menu"/>
   <object class="GtkPopoverMenu" id="forward_menu"/>
   <menu id="view_menu">
-    <section>
-      <attribute name="label" translatable="yes">Icon size</attribute>
-      <attribute name="display-hint">inline-buttons</attribute>
-      <!--
-           Zoom section.
-
-           The toolbar code assumes this is the first item of this menu model.
-           Its contents is provided by the view.
-      -->
-    </section>
     <section>
       <attribute name="label" translatable="yes" context="menu item" comments="Translators: a menu item in a 
group of sorting options in a toolbar menu, with criterions such as &quot;A-Z&quot; or &quot;Last 
Modified&quot;.">Sort</attribute>
       <!--
@@ -60,6 +50,20 @@
         <attribute name="verb-icon">folder-new-symbolic</attribute>
       </item>
     </section>
+    <section>
+      <attribute name="label" translatable="yes">Icon size</attribute>
+      <attribute name="display-hint">inline-buttons</attribute>
+      <item>
+        <attribute name="label" translatable="yes">Zoom out</attribute>
+        <attribute name="action">view.zoom-out</attribute>
+        <attribute name="verb-icon">zoom-out-symbolic</attribute>
+      </item>
+      <item>
+        <attribute name="label" translatable="yes">Zoom in</attribute>
+        <attribute name="action">view.zoom-in</attribute>
+        <attribute name="verb-icon">zoom-in-symbolic</attribute>
+      </item>
+    </section>
     <section id="undo_redo_section">
       <!-- Note: This section is often recreated by undo_manager_changed() to
            change the labels of the actions. If you change anything here,


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