summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Davis <brainblasted@disroot.org>2020-11-17 12:51:04 -0800
committerAdrien Plazas <kekun.plazas@laposte.net>2021-02-22 13:48:30 +0100
commit45bdfdfcc7da1720b6b4884fdfb6fd9aa3f688ba (patch)
treed93f34dfba0fd78574704f22e34cadbe1b51c3cd
parentf831ac6ac1502b54958ec700bcbcae2cc35b6484 (diff)
downloadnautilus-45bdfdfcc7da1720b6b4884fdfb6fd9aa3f688ba.tar.gz
general: Use HdyFlap
Use HdyFlap for an initial adaptive sidebar.
-rw-r--r--src/nautilus-window.c66
-rw-r--r--src/resources/ui/nautilus-window.ui13
2 files changed, 6 insertions, 73 deletions
diff --git a/src/nautilus-window.c b/src/nautilus-window.c
index 73fe741b7..49d0314dc 100644
--- a/src/nautilus-window.c
+++ b/src/nautilus-window.c
@@ -108,10 +108,9 @@ struct _NautilusWindow
GList *slots;
NautilusWindowSlot *active_slot;
- GtkWidget *content_paned;
+ GtkWidget *content_flap;
/* Side Pane */
- int side_pane_width;
GtkWidget *sidebar; /* container for the GtkPlacesSidebar */
GtkWidget *places_sidebar; /* the actual GtkPlacesSidebar */
GVolume *selected_volume; /* the selected volume in the sidebar popup callback */
@@ -882,60 +881,6 @@ nautilus_window_get_notebook (NautilusWindow *window)
return window->notebook;
}
-static gboolean
-save_sidebar_width_cb (gpointer user_data)
-{
- NautilusWindow *window = user_data;
-
-
- window->sidebar_width_handler_id = 0;
-
- DEBUG ("Saving sidebar width: %d", window->side_pane_width);
-
- g_settings_set_int (nautilus_window_state,
- NAUTILUS_WINDOW_STATE_SIDEBAR_WIDTH,
- window->side_pane_width);
-
- return FALSE;
-}
-
-/* side pane helpers */
-static void
-side_pane_size_allocate_callback (GtkWidget *widget,
- GtkAllocation *allocation,
- gpointer user_data)
-{
- NautilusWindow *window = user_data;
-
-
- if (window->sidebar_width_handler_id != 0)
- {
- g_source_remove (window->sidebar_width_handler_id);
- window->sidebar_width_handler_id = 0;
- }
-
- if (allocation->width != window->side_pane_width &&
- allocation->width > 1)
- {
- window->side_pane_width = allocation->width;
-
- window->sidebar_width_handler_id =
- g_idle_add (save_sidebar_width_cb, window);
- }
-}
-
-static void
-setup_side_pane_width (NautilusWindow *window)
-{
- g_return_if_fail (window->sidebar != NULL);
-
- window->side_pane_width =
- g_settings_get_int (nautilus_window_state,
- NAUTILUS_WINDOW_STATE_SIDEBAR_WIDTH);
-
- gtk_paned_set_position (GTK_PANED (window->content_paned),
- window->side_pane_width);
-}
/* Callback used when the places sidebar changes location; we need to change the displayed folder */
static void
@@ -1379,12 +1324,6 @@ places_sidebar_populate_popup_cb (GtkPlacesSidebar *sidebar,
static void
nautilus_window_set_up_sidebar (NautilusWindow *window)
{
- setup_side_pane_width (window);
- g_signal_connect (window->sidebar,
- "size-allocate",
- G_CALLBACK (side_pane_size_allocate_callback),
- window);
-
gtk_places_sidebar_set_open_flags (GTK_PLACES_SIDEBAR (window->places_sidebar),
(GTK_PLACES_OPEN_NORMAL
| GTK_PLACES_OPEN_NEW_TAB
@@ -1424,7 +1363,6 @@ nautilus_window_show_sidebar (NautilusWindow *window)
g_return_if_fail (NAUTILUS_IS_WINDOW (window));
gtk_widget_show (window->sidebar);
- setup_side_pane_width (window);
}
void
@@ -2823,7 +2761,7 @@ nautilus_window_class_init (NautilusWindowClass *class)
gtk_widget_class_set_template_from_resource (wclass,
"/org/gnome/nautilus/ui/nautilus-window.ui");
gtk_widget_class_bind_template_child (wclass, NautilusWindow, toolbar);
- gtk_widget_class_bind_template_child (wclass, NautilusWindow, content_paned);
+ gtk_widget_class_bind_template_child (wclass, NautilusWindow, content_flap);
gtk_widget_class_bind_template_child (wclass, NautilusWindow, sidebar);
gtk_widget_class_bind_template_child (wclass, NautilusWindow, places_sidebar);
gtk_widget_class_bind_template_child (wclass, NautilusWindow, main_view);
diff --git a/src/resources/ui/nautilus-window.ui b/src/resources/ui/nautilus-window.ui
index e554696ca..468df04c9 100644
--- a/src/resources/ui/nautilus-window.ui
+++ b/src/resources/ui/nautilus-window.ui
@@ -11,15 +11,16 @@
<object class="NautilusToolbar" id="toolbar"/>
</child>
<child>
- <object class="GtkPaned" id="content_paned">
+ <object class="HdyFlap" id="content_flap">
<property name="visible">True</property>
<property name="vexpand">True</property>
<property name="hexpand">True</property>
- <child>
+ <child type="flap">
<object class="GtkBox" id="sidebar">
<property name="visible">False</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
+ <property name="width_request">204</property>
<child>
<object class="GtkPlacesSidebar" id="places_sidebar">
<property name="visible">True</property>
@@ -36,14 +37,11 @@
</packing>
</child>
</object>
- <packing>
- <property name="resize">False</property>
- <property name="shrink">False</property>
- </packing>
</child>
<child>
<object class="GtkOverlay" id="main_view">
<property name="visible">True</property>
+ <property name="width_request">360</property>
<child>
<object class="NautilusNotebook" id="notebook">
<property name="visible">True</property>
@@ -189,9 +187,6 @@
</object>
</child>
</object>
- <packing>
- <property name="shrink">False</property>
- </packing>
</child>
</object>
</child>