[nautilus/improve-toolbar-menu-discoverability] toolbar: Improve menu actions discoverability and disposition



commit 7bf3732a3eb0dcd5c8bdb35235e137d1f1985bba
Author: Carlos Soriano <csoriano redhat com>
Date:   Mon Jan 14 17:45:00 2019 +0100

    toolbar: Improve menu actions discoverability and disposition
    
    We have some background menu items available in the pathbar buttons
    such as "Select All" or "New Folder", however we decided to duplicate
    some of them into the hamburguer menu for better discoverability.
    
    Not sure if this is a long term plan, but for now it will fix the issue
    of discoverability of those actions.
    
    Since the hamburguer menu now mixes actions from different contexts, we
    can rearrange a few other menu items from the view menu to the
    hamburguer menu, specially those that are not related to the view like
    "show hidden files".

 src/resources/ui/nautilus-toolbar-view-menu.ui | 304 ++++++++++++++++---------
 src/resources/ui/nautilus-toolbar.ui           |  66 +++++-
 2 files changed, 255 insertions(+), 115 deletions(-)
---
diff --git a/src/resources/ui/nautilus-toolbar-view-menu.ui b/src/resources/ui/nautilus-toolbar-view-menu.ui
index d585e0f72..ff9a1c59e 100644
--- a/src/resources/ui/nautilus-toolbar-view-menu.ui
+++ b/src/resources/ui/nautilus-toolbar-view-menu.ui
@@ -1,82 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.22.0 -->
 <interface>
-  <object class="GtkBox" id="zoom_section">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="orientation">vertical</property>
-    <property name="width_request">160</property>
-    <child>
-      <object class="GtkBox" id="zoom_controls_box">
-        <property name="visible">True</property>
-        <property name="orientation">horizontal</property>
-        <property name="homogeneous">True</property>
-        <style>
-          <class name="linked"/>
-        </style>
-        <child>
-          <object class="GtkButton" id="zoom-out">
-            <property name="visible">True</property>
-            <property name="action-name">view.zoom-out</property>
-            <property name="tooltip-text" translatable="yes">Zoom out</property>
-            <child>
-              <object class="GtkImage">
-                <property name="visible">True</property>
-                <property name="icon-name">zoom-out-symbolic</property>
-                <property name="icon-size">1</property>
-              </object>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkButton" id="zoom-default">
-            <property name="visible">True</property>
-            <property name="action_name">view.zoom-standard</property>
-            <property name="tooltip-text" translatable="yes">Reset zoom</property>
-            <child>
-              <object class="GtkLabel" id="zoom_level_label">
-                <property name="visible">True</property>
-                <property name="width-chars">5</property>
-              </object>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-            <property name="position">1</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkButton" id="zoom-in">
-            <property name="visible">True</property>
-            <property name="action_name">view.zoom-in</property>
-            <property name="tooltip-text" translatable="yes">Zoom in</property>
-            <child>
-              <object class="GtkImage">
-                <property name="visible">True</property>
-                <property name="icon-name">zoom-in-symbolic</property>
-                <property name="icon-size">1</property>
-              </object>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-            <property name="position">2</property>
-          </packing>
-        </child>
-      </object>
-    </child>
-  </object>
+  <requires lib="gtk+" version="3.16"/>
   <object class="GtkBox" id="extended_section">
+    <property name="width_request">160</property>
     <property name="visible">True</property>
     <property name="can_focus">False</property>
     <property name="orientation">vertical</property>
-    <property name="width_request">160</property>
     <child>
       <object class="GtkBox" id="sort_menu">
         <property name="visible">True</property>
@@ -85,126 +15,282 @@
         <child>
           <object class="GtkSeparator">
             <property name="visible">True</property>
-            <property name="orientation">horizontal</property>
-            <property name="margin-top">6</property>
-            <property name="margin-bottom">6</property>
+            <property name="can_focus">False</property>
+            <property name="margin_top">6</property>
+            <property name="margin_bottom">6</property>
           </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">0</property>
+          </packing>
         </child>
         <child>
           <object class="GtkLabel">
             <property name="visible">True</property>
             <property name="sensitive">False</property>
-            <property name="label" 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;." 
translatable="yes">Sort</property>
+            <property name="can_focus">False</property>
+            <property 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</property>
             <property name="xalign">0</property>
             <style>
-              <class name="nautilus-menu-sort-heading" />
+              <class name="nautilus-menu-sort-heading"/>
             </style>
           </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
         </child>
         <child>
           <object class="GtkModelButton" id="sort_name">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
+            <property name="receives_default">False</property>
+            <property name="action_name">view.sort</property>
+            <property name="action_target">'name'</property>
             <property name="text" translatable="yes" context="Sort Criterion" comments="This is used to sort 
by name in the toolbar view menu">_A-Z</property>
-            <property name="action-name">view.sort</property>
-            <property name="action-target">'name'</property>
           </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
+          </packing>
         </child>
         <child>
           <object class="GtkModelButton" id="sort_name_desc">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
+            <property name="receives_default">False</property>
+            <property name="action_name">view.sort</property>
+            <property name="action_target">'name-desc'</property>
             <property name="text" translatable="yes" context="Sort Criterion" comments="This is used to sort 
by name, in descending order in the toolbar view menu">_Z-A</property>
-            <property name="action-name">view.sort</property>
-            <property name="action-target">'name-desc'</property>
           </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">3</property>
+          </packing>
         </child>
         <child>
           <object class="GtkModelButton" id="sort_modification_date_desc">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
+            <property name="receives_default">False</property>
+            <property name="action_name">view.sort</property>
+            <property name="action_target">'modification-date-desc'</property>
             <property name="text" translatable="yes">Last _Modified</property>
-            <property name="action-name">view.sort</property>
-            <property name="action-target">'modification-date-desc'</property>
           </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">4</property>
+          </packing>
         </child>
         <child>
           <object class="GtkModelButton" id="sort_modification_date">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
+            <property name="receives_default">False</property>
+            <property name="action_name">view.sort</property>
+            <property name="action_target">'modification-date'</property>
             <property name="text" translatable="yes">_First Modified</property>
-            <property name="action-name">view.sort</property>
-            <property name="action-target">'modification-date'</property>
           </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">5</property>
+          </packing>
         </child>
         <child>
           <object class="GtkModelButton" id="sort_size">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
+            <property name="receives_default">False</property>
+            <property name="action_name">view.sort</property>
+            <property name="action_target">'size'</property>
             <property name="text" translatable="yes">_Size</property>
-            <property name="action-name">view.sort</property>
-            <property name="action-target">'size'</property>
           </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">6</property>
+          </packing>
         </child>
         <child>
           <object class="GtkModelButton" id="sort_type">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
+            <property name="receives_default">False</property>
+            <property name="action_name">view.sort</property>
+            <property name="action_target">'type'</property>
             <property name="text" translatable="yes">_Type</property>
-            <property name="action-name">view.sort</property>
-            <property name="action-target">'type'</property>
           </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">7</property>
+          </packing>
         </child>
         <child>
           <object class="GtkModelButton" id="sort_trash_time">
-            <property name="visible">False</property>
             <property name="can_focus">True</property>
+            <property name="receives_default">False</property>
+            <property name="action_name">view.sort</property>
+            <property name="action_target">'trash-time'</property>
             <property name="text" translatable="yes">Last _Trashed</property>
-            <property name="action-name">view.sort</property>
-            <property name="action-target">'trash-time'</property>
           </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">8</property>
+          </packing>
         </child>
       </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">True</property>
+        <property name="position">0</property>
+      </packing>
     </child>
     <child>
       <object class="GtkSeparator">
         <property name="visible">True</property>
-        <property name="orientation">horizontal</property>
-        <property name="margin-top">6</property>
-        <property name="margin-bottom">6</property>
+        <property name="can_focus">False</property>
+        <property name="margin_top">6</property>
+        <property name="margin_bottom">6</property>
       </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">True</property>
+        <property name="position">1</property>
+      </packing>
     </child>
     <child>
       <object class="GtkModelButton" id="visible_columns">
-        <property name="visible">False</property>
         <property name="can_focus">True</property>
+        <property name="receives_default">False</property>
+        <property name="action_name">view.visible-columns</property>
         <property name="text" translatable="yes">_Visible Columns…</property>
-        <property name="action-name">view.visible-columns</property>
-      </object>
-    </child>
-    <child>
-      <object class="GtkModelButton" id="show_hidden_files">
-        <property name="visible">True</property>
-        <property name="can_focus">True</property>
-        <property name="text" translatable="yes">Show _Hidden Files</property>
-        <property name="action-name">view.show-hidden-files</property>
       </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">True</property>
+        <property name="position">2</property>
+      </packing>
     </child>
     <child>
       <object class="GtkModelButton" id="reload">
         <property name="visible">True</property>
         <property name="can_focus">True</property>
+        <property name="receives_default">False</property>
+        <property name="action_name">win.reload</property>
         <property name="text" translatable="yes">R_eload</property>
-        <property name="action-name">win.reload</property>
       </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">True</property>
+        <property name="position">4</property>
+      </packing>
     </child>
     <child>
       <object class="GtkModelButton" id="stop">
-        <property name="visible">False</property>
         <property name="can_focus">True</property>
+        <property name="receives_default">False</property>
+        <property name="action_name">win.stop</property>
         <property name="text" translatable="yes">St_op</property>
-        <property name="action-name">win.stop</property>
       </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">True</property>
+        <property name="position">5</property>
+      </packing>
+    </child>
+  </object>
+  <object class="GtkBox" id="zoom_section">
+    <property name="width_request">160</property>
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="orientation">vertical</property>
+    <child>
+      <object class="GtkBox" id="zoom_controls_box">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="homogeneous">True</property>
+        <child>
+          <object class="GtkButton" id="zoom-out">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="receives_default">False</property>
+            <property name="tooltip_text" translatable="yes">Zoom out</property>
+            <property name="action_name">view.zoom-out</property>
+            <child>
+              <object class="GtkImage">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="icon_name">zoom-out-symbolic</property>
+                <property name="icon_size">1</property>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkButton" id="zoom-default">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="receives_default">False</property>
+            <property name="tooltip_text" translatable="yes">Reset zoom</property>
+            <property name="action_name">view.zoom-standard</property>
+            <child>
+              <object class="GtkLabel" id="zoom_level_label">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="width_chars">5</property>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkButton" id="zoom-in">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="receives_default">False</property>
+            <property name="tooltip_text" translatable="yes">Zoom in</property>
+            <property name="action_name">view.zoom-in</property>
+            <child>
+              <object class="GtkImage">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="icon_name">zoom-in-symbolic</property>
+                <property name="icon_size">1</property>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <style>
+          <class name="linked"/>
+        </style>
+      </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">True</property>
+        <property name="position">0</property>
+      </packing>
     </child>
   </object>
 </interface>
diff --git a/src/resources/ui/nautilus-toolbar.ui b/src/resources/ui/nautilus-toolbar.ui
index 46af3e2b1..219c47883 100644
--- a/src/resources/ui/nautilus-toolbar.ui
+++ b/src/resources/ui/nautilus-toolbar.ui
@@ -214,8 +214,8 @@
             <property name="receives_default">True</property>
             <property name="margin_top">6</property>
             <property name="margin_bottom">6</property>
-            <property name="action_name">app.show-hide-sidebar</property>
-            <property name="text" translatable="yes">_Sidebar</property>
+            <property name="action_name">view.select-all</property>
+            <property name="text" translatable="yes">Select All</property>
           </object>
           <packing>
             <property name="expand">False</property>
@@ -234,6 +234,60 @@
             <property name="position">5</property>
           </packing>
         </child>
+        <child>
+          <object class="GtkModelButton" id="show_hidden_files">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">False</property>
+            <property name="margin_top">6</property>
+            <property name="margin_bottom">6</property>
+            <property name="action_name">view.show-hidden-files</property>
+            <property name="text" translatable="yes">Show Hidden Files</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">6</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkSeparator">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">7</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkModelButton">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">True</property>
+            <property name="margin_top">6</property>
+            <property name="margin_bottom">6</property>
+            <property name="action_name">app.show-hide-sidebar</property>
+            <property name="text" translatable="yes">_Sidebar</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">8</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkSeparator">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">9</property>
+          </packing>
+        </child>
         <child>
           <object class="GtkModelButton">
             <property name="visible">True</property>
@@ -246,7 +300,7 @@
           <packing>
             <property name="expand">False</property>
             <property name="fill">True</property>
-            <property name="position">6</property>
+            <property name="position">10</property>
           </packing>
         </child>
         <child>
@@ -260,7 +314,7 @@
           <packing>
             <property name="expand">False</property>
             <property name="fill">True</property>
-            <property name="position">10</property>
+            <property name="position">11</property>
           </packing>
         </child>
         <child>
@@ -274,7 +328,7 @@
           <packing>
             <property name="expand">False</property>
             <property name="fill">True</property>
-            <property name="position">11</property>
+            <property name="position">12</property>
           </packing>
         </child>
         <child>
@@ -288,7 +342,7 @@
           <packing>
             <property name="expand">False</property>
             <property name="fill">True</property>
-            <property name="position">12</property>
+            <property name="position">13</property>
           </packing>
         </child>
       </object>


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