[nautilus/wip/gbsneto/actionbar-final: 6/9] window-slot: show actionbar



commit e5e14eef9e44659a4d8bb22b33adb3e4afeb2453
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Wed Mar 2 01:03:25 2016 -0300

    window-slot: show actionbar
    
    When we change the view, add the view's actionbar
    to the bottom of the window slot.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=767874

 src/nautilus-window-slot.c |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)
---
diff --git a/src/nautilus-window-slot.c b/src/nautilus-window-slot.c
index 76cfeef..d35b50b 100644
--- a/src/nautilus-window-slot.c
+++ b/src/nautilus-window-slot.c
@@ -2317,8 +2317,20 @@ static void
 change_view (NautilusWindowSlot *self)
 {
         NautilusWindowSlotPrivate *priv;
+        NautilusView *view;
+        gboolean view_changed;
 
         priv = nautilus_window_slot_get_instance_private (self);
+
+        view = priv->new_content_view;
+        view_changed = priv->content_view != view;
+
+        /* Remove the old actionbar before switching to the new view */
+        if (view_changed && priv->content_view &&
+            nautilus_view_get_action_bar (priv->content_view)) {
+                gtk_container_remove (GTK_CONTAINER (self), nautilus_view_get_action_bar 
(priv->content_view));
+        }
+
        /* Switch to the new content view.
         * Destroy the extra location widgets first, since they might hold
         * a pointer to the old view, which will possibly be destroyed inside
@@ -2336,6 +2348,16 @@ change_view (NautilusWindowSlot *self)
         * add back the extra location widgets.
         */
        nautilus_window_slot_setup_extra_location_widgets (self);
+
+        /* Add the actionbar (if any) after the extra location widgets are set */
+        if (view_changed && nautilus_view_get_action_bar (view)) {
+                GtkWidget *actionbar;
+
+                actionbar = nautilus_view_get_action_bar (view);
+
+                gtk_box_pack_end (GTK_BOX (self), actionbar, FALSE, FALSE, 0);
+                gtk_widget_show (actionbar);
+        }
 }
 
 static void


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