diff options
author | António Fernandes <antoniof@gnome.org> | 2022-01-02 13:52:57 +0000 |
---|---|---|
committer | António Fernandes <antoniof@gnome.org> | 2022-01-02 19:22:17 +0000 |
commit | cb2bd034db2761ba039238089e9a76d32487dbe2 (patch) | |
tree | 9b69ac50f4d2673d0bd3c9aa7daa36895578f71f | |
parent | f3adfb563f4694aa169fe4b5ec54597558db7065 (diff) | |
download | nautilus-cb2bd034db2761ba039238089e9a76d32487dbe2.tar.gz |
properties-window: Stop using GtkGrid for properties
The height-for-width interaction between permission rows and the grid,
with the list box spanning two columns, is buggy.
Port the remaining element (the "Others" label) to a list row and use
the vertical GtkBox directly, with no GtkGrid interposed.
-rw-r--r-- | src/nautilus-properties-window.c | 2 | ||||
-rw-r--r-- | src/resources/ui/nautilus-properties-window.ui | 344 |
2 files changed, 150 insertions, 196 deletions
diff --git a/src/nautilus-properties-window.c b/src/nautilus-properties-window.c index af9cbd78e..a2808b362 100644 --- a/src/nautilus-properties-window.c +++ b/src/nautilus-properties-window.c @@ -3641,7 +3641,7 @@ setup_permissions_page (NautilusPropertiesWindow *self) gtk_widget_show (self->bottom_prompt_seperator); } - gtk_stack_set_visible_child_name (GTK_STACK (self->permissions_stack), "permission-grid"); + gtk_stack_set_visible_child_name (GTK_STACK (self->permissions_stack), "permissions-box"); create_simple_permissions (self); #ifdef HAVE_SELINUX diff --git a/src/resources/ui/nautilus-properties-window.ui b/src/resources/ui/nautilus-properties-window.ui index a5cb09ed5..ced428c75 100644 --- a/src/resources/ui/nautilus-properties-window.ui +++ b/src/resources/ui/nautilus-properties-window.ui @@ -629,10 +629,11 @@ </child> <child> <object class="GtkStackPage"> - <property name="name">permission-grid</property> + <property name="name">permissions-box</property> <property name="child"> <object class="GtkBox" id="permissions_box"> <property name="orientation">vertical</property> + <property name="spacing">12</property> <child> <object class="GtkLabel" id="not_the_owner_label"> <property name="visible">False</property> @@ -659,232 +660,185 @@ </object> </child> <child> - <object class="GtkGrid"> - <property name="halign">center</property> - <property name="vexpand">True</property> - <property name="orientation">vertical</property> - <property name="row_spacing">6</property> - <property name="column_spacing">12</property> + <object class="GtkListBox" id="owner_list_box"> + <property name="selection-mode">none</property> <child> - <object class="GtkLabel" id="others_label"> - <property name="margin_top">12</property> - <property name="label" translatable="yes">Others</property> - <property name="xalign">1</property> - <style> - <class name="dim-label"/> - </style> - <layout> - <property name="column">0</property> - <property name="row">4</property> - </layout> + <object class="AdwComboRow" id="owner_row"> + <property name="sensitive">False</property> + <property name="activatable">False</property> + <property name="title" translatable="yes">_Owner</property> + <property name="use-underline">True</property> </object> </child> <child> - <object class="GtkListBox" id="owner_list_box"> - <property name="selection-mode">none</property> - <child> - <object class="AdwComboRow" id="owner_row"> - <property name="sensitive">False</property> - <property name="activatable">False</property> - <property name="title" translatable="yes">_Owner</property> - <property name="use-underline">True</property> - </object> - </child> - <child> - <object class="AdwComboRow" id="owner_access_row"> - <property name="visible">False</property> - <property name="activatable">False</property> - <property name="title" translatable="yes">Access</property> - </object> - </child> - <child> - <object class="AdwComboRow" id="owner_folder_access_row"> - <property name="visible">False</property> - <property name="activatable">False</property> - <property name="title" translatable="yes">Folder Access</property> - </object> - </child> - <child> - <object class="AdwComboRow" id="owner_file_access_row"> - <property name="visible">False</property> - <property name="activatable">False</property> - <property name="title" translatable="yes">File Access</property> - </object> - </child> - <layout> - <property name="column">0</property> - <property name="row">1</property> - <property name="column-span">2</property> - </layout> - <style> - <class name="boxed-list"/> - </style> + <object class="AdwComboRow" id="owner_access_row"> + <property name="visible">False</property> + <property name="activatable">False</property> + <property name="title" translatable="yes">Access</property> </object> </child> <child> - <object class="GtkListBox" id="group_list_box"> - <property name="selection-mode">none</property> - <child> - <object class="AdwComboRow" id="group_row"> - <property name="sensitive">False</property> - <property name="activatable">False</property> - <property name="title" translatable="yes">_Group</property> - <property name="use-underline">True</property> - </object> - </child> - <child> - <object class="AdwComboRow" id="group_access_row"> - <property name="visible">False</property> - <property name="activatable">False</property> - <property name="title" translatable="yes">Access</property> - </object> - </child> - <child> - <object class="AdwComboRow" id="group_folder_access_row"> - <property name="visible">False</property> - <property name="activatable">False</property> - <property name="title" translatable="yes">Folder Access</property> - </object> - </child> - <child> - <object class="AdwComboRow" id="group_file_access_row"> - <property name="visible">False</property> - <property name="activatable">False</property> - <property name="title" translatable="yes">File Access</property> - </object> - </child> - <style> - <class name="boxed-list"/> - </style> - <layout> - <property name="column">0</property> - <property name="row">3</property> - <property name="column-span">2</property> - </layout> + <object class="AdwComboRow" id="owner_folder_access_row"> + <property name="visible">False</property> + <property name="activatable">False</property> + <property name="title" translatable="yes">Folder Access</property> </object> </child> <child> - <object class="GtkListBox" id="others_list_box"> - <property name="selection-mode">none</property> - <child> - <object class="AdwComboRow" id="others_access_row"> - <property name="visible">False</property> - <property name="activatable">False</property> - <property name="title" translatable="yes">Access</property> - </object> - </child> - <child> - <object class="AdwComboRow" id="others_folder_access_row"> - <property name="visible">False</property> - <property name="activatable">False</property> - <property name="title" translatable="yes">Folder Access</property> - </object> - </child> - <child> - <object class="AdwComboRow" id="others_file_access_row"> - <property name="visible">False</property> - <property name="activatable">False</property> - <property name="title" translatable="yes">File Access</property> - </object> - </child> - <style> - <class name="boxed-list"/> - </style> - <layout> - <property name="column">0</property> - <property name="row">5</property> - <property name="column-span">2</property> - </layout> + <object class="AdwComboRow" id="owner_file_access_row"> + <property name="visible">False</property> + <property name="activatable">False</property> + <property name="title" translatable="yes">File Access</property> + </object> + </child> + <style> + <class name="boxed-list"/> + </style> + </object> + </child> + <child> + <object class="GtkListBox" id="group_list_box"> + <property name="selection-mode">none</property> + <child> + <object class="AdwComboRow" id="group_row"> + <property name="sensitive">False</property> + <property name="activatable">False</property> + <property name="title" translatable="yes">_Group</property> + <property name="use-underline">True</property> + </object> + </child> + <child> + <object class="AdwComboRow" id="group_access_row"> + <property name="visible">False</property> + <property name="activatable">False</property> + <property name="title" translatable="yes">Access</property> + </object> + </child> + <child> + <object class="AdwComboRow" id="group_folder_access_row"> + <property name="visible">False</property> + <property name="activatable">False</property> + <property name="title" translatable="yes">Folder Access</property> + </object> + </child> + <child> + <object class="AdwComboRow" id="group_file_access_row"> + <property name="visible">False</property> + <property name="activatable">False</property> + <property name="title" translatable="yes">File Access</property> + </object> + </child> + <style> + <class name="boxed-list"/> + </style> + </object> + </child> + <child> + <object class="GtkListBox" id="others_list_box"> + <property name="selection-mode">none</property> + <child> + <object class="AdwComboRow" id="others_row"> + <property name="activatable">False</property> + <property name="title" translatable="yes">Others</property> </object> </child> <child> - <object class="GtkListBox" id="execution_list_box"> + <object class="AdwComboRow" id="others_access_row"> <property name="visible">False</property> - <property name="selection-mode">none</property> + <property name="activatable">False</property> + <property name="title" translatable="yes">Access</property> + </object> + </child> + <child> + <object class="AdwComboRow" id="others_folder_access_row"> + <property name="visible">False</property> + <property name="activatable">False</property> + <property name="title" translatable="yes">Folder Access</property> + </object> + </child> + <child> + <object class="AdwComboRow" id="others_file_access_row"> + <property name="visible">False</property> + <property name="activatable">False</property> + <property name="title" translatable="yes">File Access</property> + </object> + </child> + <style> + <class name="boxed-list"/> + </style> + </object> + </child> + <child> + <object class="GtkListBox" id="execution_list_box"> + <property name="visible">False</property> + <property name="selection-mode">none</property> + <child> + <object class="AdwActionRow" id="execution_row"> + <property name="activatable">True</property> + <property name="title" translatable="yes">_Executable as Program</property> + <property name="tooltip-text" translatable="yes">Not all files are marked executable for all users</property> + <property name="use-underline">True</property> <child> - <object class="AdwActionRow" id="execution_row"> - <property name="activatable">True</property> - <property name="title" translatable="yes">_Executable as Program</property> - <property name="tooltip-text" translatable="yes">Not all files are marked executable for all users</property> - <property name="use-underline">True</property> + <object class="GtkBox"> + <property name="spacing">6</property> <child> - <object class="GtkBox"> - <property name="spacing">6</property> + <object class="GtkRevealer" id="execution_inconsistent_revealer"> + <property name="transition-type">crossfade</property> + <property name="reveal-child">False</property> <child> - <object class="GtkRevealer" id="execution_inconsistent_revealer"> - <property name="transition-type">crossfade</property> - <property name="reveal-child">False</property> - <child> - <object class="GtkLabel"> - <property name="label" translatable="yes">Inconsistent</property> - <style> - <class name="dim-label"/> - </style> - </object> - </child> - </object> - </child> - <child> - <object class="GtkSwitch" id="execution_switch"> - <property name="halign">center</property> - <property name="valign">center</property> + <object class="GtkLabel"> + <property name="label" translatable="yes">Inconsistent</property> + <style> + <class name="dim-label"/> + </style> </object> </child> </object> </child> - </object> - </child> - <style> - <class name="boxed-list"/> - </style> - <layout> - <property name="column">0</property> - <property name="row">6</property> - <property name="column-span">2</property> - </layout> - </object> - </child> - <child> - <object class="GtkListBox" id="security_context_list_box"> - <property name="visible">False</property> - <child> - <object class="AdwActionRow"> - <property name="title" translatable="yes">Security Context</property> <child> - <object class="GtkLabel" id="security_context_value_label"> - <property name="selectable">True</property> - <property name="max-width-chars">24</property> - <property name="xalign">1</property> + <object class="GtkSwitch" id="execution_switch"> + <property name="halign">center</property> + <property name="valign">center</property> </object> </child> </object> </child> - <style> - <class name="boxed-list"/> - </style> - <layout> - <property name="column">0</property> - <property name="row">7</property> - <property name="column-span">2</property> - </layout> </object> </child> + <style> + <class name="boxed-list"/> + </style> + </object> + </child> + <child> + <object class="GtkListBox" id="security_context_list_box"> + <property name="visible">False</property> <child> - <object class="GtkBox" id="change_permissions_button_box"> - <property name="visible">False</property> - <property name="margin_top">12</property> + <object class="AdwActionRow"> + <property name="title" translatable="yes">Security Context</property> <child> - <object class="GtkButton" id="change_permissions_button"> - <property name="label" translatable="yes">Change Permissions for Enclosed Files…</property> - <property name="focusable">True</property> - <property name="receives_default">True</property> + <object class="GtkLabel" id="security_context_value_label"> + <property name="selectable">True</property> + <property name="max-width-chars">24</property> + <property name="xalign">1</property> </object> </child> - <layout> - <property name="column">0</property> - <property name="row">8</property> - <property name="column-span">2</property> - </layout> + </object> + </child> + <style> + <class name="boxed-list"/> + </style> + </object> + </child> + <child> + <object class="GtkBox" id="change_permissions_button_box"> + <property name="visible">False</property> + <property name="margin_top">12</property> + <child> + <object class="GtkButton" id="change_permissions_button"> + <property name="label" translatable="yes">Change Permissions for Enclosed Files…</property> + <property name="focusable">True</property> + <property name="receives_default">True</property> </object> </child> </object> |