[nautilus/wip/antoniof/gtk4-preparation-step-container-api: 13/20] toolbar: Unify toolbar UI definitions
- From: António Fernandes <antoniof src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus/wip/antoniof/gtk4-preparation-step-container-api: 13/20] toolbar: Unify toolbar UI definitions
- Date: Mon, 6 Dec 2021 00:27:54 +0000 (UTC)
commit 57e3910e5ec9142f8b90c6ac6c6294f75f299371
Author: António Fernandes <antoniof gnome org>
Date: Tue Nov 23 20:53:16 2021 +0000
toolbar: Unify toolbar UI definitions
The toolbar's UI definition is split among two files because we used to
have a NautilusContainerMaxWidth between them, which is not GtkBuildable.
With out custom container gone from the toolbar, we can simplify this,
while also reduce the usage of GtkContainer API, which is gone in GTK4.
src/nautilus-toolbar.c | 16 ++----
src/resources/nautilus.gresource.xml | 1 -
src/resources/ui/nautilus-toolbar-switcher.ui | 73 ---------------------------
src/resources/ui/nautilus-toolbar.ui | 44 +++++++++++++---
4 files changed, 40 insertions(+), 94 deletions(-)
---
diff --git a/src/nautilus-toolbar.c b/src/nautilus-toolbar.c
index 3875aecc1..cd0cb368e 100644
--- a/src/nautilus-toolbar.c
+++ b/src/nautilus-toolbar.c
@@ -67,7 +67,6 @@ struct _NautilusToolbar
GtkWidget *location_entry_container;
GtkWidget *search_container;
GtkWidget *toolbar_switcher;
- GtkWidget *toolbar_switcher_container;
GtkWidget *path_bar;
GtkWidget *location_entry;
@@ -891,18 +890,8 @@ on_location_entry_focus_changed (GObject *object,
static void
nautilus_toolbar_constructed (GObject *object)
{
- g_autoptr (GtkBuilder) builder = NULL;
NautilusToolbar *self = NAUTILUS_TOOLBAR (object);
- builder = gtk_builder_new_from_resource ("/org/gnome/nautilus/ui/nautilus-toolbar-switcher.ui");
- self->toolbar_switcher = GTK_WIDGET (gtk_builder_get_object (builder, "toolbar_switcher"));
- self->search_container = GTK_WIDGET (gtk_builder_get_object (builder, "search_container"));
- self->path_bar_container = GTK_WIDGET (gtk_builder_get_object (builder, "path_bar_container"));
- self->location_entry_container = GTK_WIDGET (gtk_builder_get_object (builder,
"location_entry_container"));
-
- gtk_container_add (GTK_CONTAINER (self->toolbar_switcher_container),
- self->toolbar_switcher);
-
self->path_bar = g_object_new (NAUTILUS_TYPE_PATH_BAR, NULL);
gtk_container_add (GTK_CONTAINER (self->path_bar_container),
self->path_bar);
@@ -1231,7 +1220,10 @@ nautilus_toolbar_class_init (NautilusToolbarClass *klass)
gtk_widget_class_bind_template_child (widget_class, NautilusToolbar, app_menu);
gtk_widget_class_bind_template_child (widget_class, NautilusToolbar, back_button);
gtk_widget_class_bind_template_child (widget_class, NautilusToolbar, forward_button);
- gtk_widget_class_bind_template_child (widget_class, NautilusToolbar, toolbar_switcher_container);
+ gtk_widget_class_bind_template_child (widget_class, NautilusToolbar, toolbar_switcher);
+ gtk_widget_class_bind_template_child (widget_class, NautilusToolbar, search_container);
+ gtk_widget_class_bind_template_child (widget_class, NautilusToolbar, path_bar_container);
+ gtk_widget_class_bind_template_child (widget_class, NautilusToolbar, location_entry_container);
gtk_widget_class_bind_template_child (widget_class, NautilusToolbar, view_menu_zoom_section);
gtk_widget_class_bind_template_child (widget_class, NautilusToolbar, view_menu_undo_redo_section);
diff --git a/src/resources/nautilus.gresource.xml b/src/resources/nautilus.gresource.xml
index bb0cf3ea1..a0cd28876 100644
--- a/src/resources/nautilus.gresource.xml
+++ b/src/resources/nautilus.gresource.xml
@@ -5,7 +5,6 @@
<file compressed="true">ui/nautilus-search-popover.ui</file>
<file>ui/nautilus-pathbar-context-menu.ui</file>
<file>ui/nautilus-toolbar.ui</file>
- <file>ui/nautilus-toolbar-switcher.ui</file>
<file>ui/nautilus-toolbar-view-menu.ui</file>
<file>ui/nautilus-column-chooser.ui</file>
<file>ui/nautilus-list-view-column-editor.ui</file>
diff --git a/src/resources/ui/nautilus-toolbar.ui b/src/resources/ui/nautilus-toolbar.ui
index d012fa827..a1e6fccec 100644
--- a/src/resources/ui/nautilus-toolbar.ui
+++ b/src/resources/ui/nautilus-toolbar.ui
@@ -439,17 +439,48 @@
<property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
- <object class="GtkBox" id="toolbar_switcher_container">
+ <object class="GtkStack" id="toolbar_switcher">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">center</property>
+ <property name="hexpand">False</property>
+ <property name="transition_type">crossfade</property>
<child>
- <placeholder/>
+ <object class="GtkBox" id="path_bar_container">
+ <property name="can_focus">False</property>
+ <property name="valign">center</property>
+ <style>
+ <class name="path-bar-box"/>
+ </style>
+ </object>
+ <packing>
+ <property name="name">pathbar</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="location_entry_container">
+ <property name="can_focus">False</property>
+ <style>
+ <class name="linked"/>
+ </style>
+ </object>
+ <packing>
+ <property name="name">location</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="search_container">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ </object>
+ <packing>
+ <property name="name">search</property>
+ <property name="position">2</property>
+ </packing>
</child>
</object>
- <packing>
- <property name="position">0</property>
- </packing>
</child>
<child>
<object class="GtkToggleButton" id="search_button">
@@ -477,9 +508,6 @@
</packing>
</child>
</object>
- <packing>
- <property name="pack_type">end</property>
- </packing>
</child>
<child>
<object class="GtkBox" id="navigation_box">
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]