[nautilus/refactor: 9/26] window: cleanup nautilus_window_go_up()



commit 409c0d5b9980757287fadab716c88d3994c2af2d
Author: Cosimo Cecchi <cosimoc gnome org>
Date:   Tue Dec 21 19:43:10 2010 +0100

    window: cleanup nautilus_window_go_up()

 src/nautilus-window-manage-views.c |   42 ++++++++++++++++++++++++++++++++-
 src/nautilus-window-menus.c        |    6 ++++-
 src/nautilus-window-slot.h         |    3 ++
 src/nautilus-window.c              |   46 ++---------------------------------
 src/nautilus-window.h              |    3 --
 5 files changed, 52 insertions(+), 48 deletions(-)
---
diff --git a/src/nautilus-window-manage-views.c b/src/nautilus-window-manage-views.c
index b4a6fce..f22312b 100644
--- a/src/nautilus-window-manage-views.c
+++ b/src/nautilus-window-manage-views.c
@@ -633,7 +633,8 @@ nautilus_window_slot_open_location_full (NautilusWindowSlot *slot,
 }
 
 void
-nautilus_window_slot_go_home (NautilusWindowSlot *slot, gboolean new_tab)
+nautilus_window_slot_go_home (NautilusWindowSlot *slot,
+			      gboolean new_tab)
 {			      
 	GFile *home;
 	NautilusWindowOpenFlags flags;
@@ -653,6 +654,45 @@ nautilus_window_slot_go_home (NautilusWindowSlot *slot, gboolean new_tab)
 	g_object_unref (home);
 }
 
+void
+nautilus_window_slot_go_up (NautilusWindowSlot *slot,
+			    gboolean close_behind,
+			    gboolean new_tab)
+{
+	GFile *parent;
+	GList *selection;
+	NautilusWindowOpenFlags flags;
+
+	if (slot->location == NULL) {
+		return;
+	}
+	
+	parent = g_file_get_parent (slot->location);
+
+	if (parent == NULL) {
+		return;
+	}
+	
+	selection = g_list_prepend (NULL, g_object_ref (slot->location));
+	
+	flags = 0;
+	if (close_behind) {
+		flags |= NAUTILUS_WINDOW_OPEN_FLAG_CLOSE_BEHIND;
+	}
+	if (new_tab) {
+		flags |= NAUTILUS_WINDOW_OPEN_FLAG_NEW_TAB;
+	}
+
+	nautilus_window_slot_open_location (slot, parent, 
+					    NAUTILUS_WINDOW_OPEN_ACCORDING_TO_MODE,
+					    flags,
+					    selection);
+	
+	g_object_unref (parent);
+
+	g_list_free_full (selection, g_object_unref);
+}
+
 static char *
 nautilus_window_slot_get_view_error_label (NautilusWindowSlot *slot)
 {
diff --git a/src/nautilus-window-menus.c b/src/nautilus-window-menus.c
index 763039a..a0b4884 100644
--- a/src/nautilus-window-menus.c
+++ b/src/nautilus-window-menus.c
@@ -536,7 +536,11 @@ static void
 action_up_callback (GtkAction *action, 
 		     gpointer user_data) 
 {
-	nautilus_window_go_up (NAUTILUS_WINDOW (user_data), FALSE, should_open_in_new_tab ());
+	NautilusWindow *window = user_data;
+	NautilusWindowSlot *slot;
+
+	slot = nautilus_window_get_active_slot (window);
+	nautilus_window_slot_go_up (slot, FALSE, should_open_in_new_tab ());
 }
 
 static void
diff --git a/src/nautilus-window-slot.h b/src/nautilus-window-slot.h
index 89d4ad7..b090c2b 100644
--- a/src/nautilus-window-slot.h
+++ b/src/nautilus-window-slot.h
@@ -163,6 +163,9 @@ gboolean		nautilus_window_slot_content_view_matches_iid (NautilusWindowSlot	*slo
 
 void    nautilus_window_slot_go_home			   (NautilusWindowSlot *slot,
 							    gboolean            new_tab);
+void    nautilus_window_slot_go_up                         (NautilusWindowSlot *slot,
+							    gboolean close_behind,
+							    gboolean new_tab);
 
 void    nautilus_window_slot_set_content_view_widget	   (NautilusWindowSlot *slot,
 							    NautilusView       *content_view);
diff --git a/src/nautilus-window.c b/src/nautilus-window.c
index ada8c42..852b2b5 100644
--- a/src/nautilus-window.c
+++ b/src/nautilus-window.c
@@ -244,7 +244,9 @@ nautilus_window_go_to_with_selection (NautilusWindow *window,
 static gboolean
 nautilus_window_go_up_signal (NautilusWindow *window, gboolean close_behind)
 {
-	nautilus_window_go_up (window, close_behind, FALSE);
+	nautilus_window_slot_go_up (nautilus_window_get_active_slot (window),
+				    close_behind, FALSE);
+
 	return TRUE;
 }
 
@@ -283,48 +285,6 @@ nautilus_window_new_tab (NautilusWindow *window)
 	}
 }
 
-void
-nautilus_window_go_up (NautilusWindow *window, gboolean close_behind, gboolean new_tab)
-{
-	NautilusWindowSlot *slot;
-	GFile *parent;
-	GList *selection;
-	NautilusWindowOpenFlags flags;
-
-	g_assert (NAUTILUS_IS_WINDOW (window));
-
-	slot = window->details->active_pane->active_slot;
-
-	if (slot->location == NULL) {
-		return;
-	}
-	
-	parent = g_file_get_parent (slot->location);
-
-	if (parent == NULL) {
-		return;
-	}
-	
-	selection = g_list_prepend (NULL, g_object_ref (slot->location));
-	
-	flags = 0;
-	if (close_behind) {
-		flags |= NAUTILUS_WINDOW_OPEN_FLAG_CLOSE_BEHIND;
-	}
-	if (new_tab) {
-		flags |= NAUTILUS_WINDOW_OPEN_FLAG_NEW_TAB;
-	}
-
-	nautilus_window_slot_open_location (slot, parent, 
-					    NAUTILUS_WINDOW_OPEN_ACCORDING_TO_MODE,
-					    flags,
-					    selection);
-	
-	g_object_unref (parent);
-
-	g_list_free_full (selection, g_object_unref);
-}
-
 static void
 real_set_allow_up (NautilusWindow *window,
 		   gboolean        allow)
diff --git a/src/nautilus-window.h b/src/nautilus-window.h
index e0edee7..fe3e0e4 100644
--- a/src/nautilus-window.h
+++ b/src/nautilus-window.h
@@ -160,9 +160,6 @@ void             nautilus_window_go_to_with_selection (NautilusWindow    *window
                                                        GFile             *location,
                                                        GList             *new_selection);
 void             nautilus_window_new_tab              (NautilusWindow    *window);
-void             nautilus_window_go_up                (NautilusWindow    *window,
-                                                       gboolean           close_behind,
-						       gboolean           new_tab);
 void             nautilus_window_prompt_for_location  (NautilusWindow    *window,
                                                        const char        *initial);
 void             nautilus_window_display_error        (NautilusWindow    *window,



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