summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntónio Fernandes <antoniof@gnome.org>2022-01-02 13:52:57 +0000
committerAntónio Fernandes <antoniof@gnome.org>2022-01-02 19:22:17 +0000
commitcb2bd034db2761ba039238089e9a76d32487dbe2 (patch)
tree9b69ac50f4d2673d0bd3c9aa7daa36895578f71f
parentf3adfb563f4694aa169fe4b5ec54597558db7065 (diff)
downloadnautilus-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.c2
-rw-r--r--src/resources/ui/nautilus-properties-window.ui344
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>