[nautilus] Associate a slot to a pane instead of a window



commit d3ee81d3021204786c3c51bf9f651fffbd10ff0b
Author: Holger Berndt <berndth gmx de>
Date:   Sat Jan 31 02:44:18 2009 +0100

    Associate a slot to a pane instead of a window
    
    NautilusWindowSlot->window is removed and NautilusWindowSlot->pane
    is added. All references to window is then replaces with ->pane->window.

 src/nautilus-application.c             |    2 +-
 src/nautilus-navigation-window-menus.c |    2 +-
 src/nautilus-navigation-window-slot.c  |    8 +++---
 src/nautilus-navigation-window.c       |    5 ++-
 src/nautilus-spatial-window.c          |    8 +++---
 src/nautilus-window-manage-views.c     |   36 ++++++++++++++++----------------
 src/nautilus-window-slot.c             |   32 ++++++++++++++--------------
 src/nautilus-window-slot.h             |    4 +-
 src/nautilus-window.c                  |   10 ++++----
 9 files changed, 54 insertions(+), 53 deletions(-)
---
diff --git a/src/nautilus-application.c b/src/nautilus-application.c
index fea09f6..50388c7 100644
--- a/src/nautilus-application.c
+++ b/src/nautilus-application.c
@@ -1664,7 +1664,7 @@ mount_removed_callback (GVolumeMonitor *monitor,
 	/* Handle the windows in the close list. */
 	for (node = close_list; node != NULL; node = node->next) {
 		slot = node->data;
-		window = slot->window;
+		window = slot->pane->window;
 
 		if (NAUTILUS_IS_SPATIAL_WINDOW (window) ||
 		    (nautilus_navigation_window_slot_should_close_with_mount (NAUTILUS_NAVIGATION_WINDOW_SLOT (slot), mount) &&
diff --git a/src/nautilus-navigation-window-menus.c b/src/nautilus-navigation-window-menus.c
index 5ef46f4..1fc2cab 100644
--- a/src/nautilus-navigation-window-menus.c
+++ b/src/nautilus-navigation-window-menus.c
@@ -685,7 +685,7 @@ action_new_tab_callback (GtkAction *action,
 	current_slot = window->details->active_slot;
 	location = nautilus_window_slot_get_location (current_slot);
 
-	window = NAUTILUS_WINDOW (current_slot->window);
+	window = NAUTILUS_WINDOW (current_slot->pane->window);
 
 	if (location != NULL) {
 		flags = 0;
diff --git a/src/nautilus-navigation-window-slot.c b/src/nautilus-navigation-window-slot.c
index 9fd835c..f189607 100644
--- a/src/nautilus-navigation-window-slot.c
+++ b/src/nautilus-navigation-window-slot.c
@@ -123,8 +123,8 @@ nautilus_navigation_window_slot_update_query_editor (NautilusWindowSlot *slot)
 	NautilusNavigationWindow *navigation_window;
 	GtkWidget *query_editor;
 
-	g_assert (slot->window != NULL);
-	navigation_window = NAUTILUS_NAVIGATION_WINDOW (slot->window);
+	g_assert (slot->pane->window != NULL);
+	navigation_window = NAUTILUS_NAVIGATION_WINDOW (slot->pane->window);
 
 	query_editor = NULL;
 
@@ -138,7 +138,7 @@ nautilus_navigation_window_slot_update_query_editor (NautilusWindowSlot *slot)
 		} else {
 			query_editor = nautilus_query_editor_new_with_bar (FALSE,
 									   nautilus_search_directory_is_indexed (search_directory),
-									   slot->window->details->active_slot == slot,
+									   slot->pane->window->details->active_slot == slot,
 									   NAUTILUS_SEARCH_BAR (navigation_window->search_bar),
 									   slot);
 		}
@@ -175,7 +175,7 @@ nautilus_navigation_window_slot_active (NautilusWindowSlot *slot)
 	int page_num;
 
 	navigation_slot = NAUTILUS_NAVIGATION_WINDOW_SLOT (slot);
-	window = NAUTILUS_NAVIGATION_WINDOW (slot->window);
+	window = NAUTILUS_NAVIGATION_WINDOW (slot->pane->window);
 
 	page_num = gtk_notebook_page_num (GTK_NOTEBOOK (window->notebook),
 					  slot->content_box);
diff --git a/src/nautilus-navigation-window.c b/src/nautilus-navigation-window.c
index eea719a..3bbbf6c 100644
--- a/src/nautilus-navigation-window.c
+++ b/src/nautilus-navigation-window.c
@@ -214,7 +214,7 @@ notebook_tab_close_requested (NautilusNotebook *notebook,
 			      NautilusWindowSlot *slot,
 			      NautilusWindow *window)
 {
-	g_assert (slot->window == window);
+	g_assert (slot->pane->window == window);
 	nautilus_window_slot_close (slot);
 }
 
@@ -1858,7 +1858,8 @@ real_open_slot (NautilusWindow *window,
 	notebook = NAUTILUS_NOTEBOOK (navigation_window->notebook);
 
 	slot = (NautilusWindowSlot *) g_object_new (NAUTILUS_TYPE_NAVIGATION_WINDOW_SLOT, NULL);
-	slot->window = window;
+
+	slot->pane = window->details->active_pane;
 
 	g_signal_handlers_block_by_func (notebook,
 					 G_CALLBACK (notebook_switch_page_cb),
diff --git a/src/nautilus-spatial-window.c b/src/nautilus-spatial-window.c
index 1d1603b..bfb8b30 100644
--- a/src/nautilus-spatial-window.c
+++ b/src/nautilus-spatial-window.c
@@ -261,7 +261,7 @@ nautilus_spatial_window_save_geometry (NautilusWindowSlot *slot)
 	NautilusFile *viewed_file;
 	char *geometry_string;
 
-	window = NAUTILUS_WINDOW (slot->window);
+	window = NAUTILUS_WINDOW (slot->pane->window);
 
 	viewed_file = slot->viewed_file;
 
@@ -289,7 +289,7 @@ nautilus_spatial_window_save_scroll_position (NautilusWindowSlot *slot)
 	NautilusWindow *window;
 	char *scroll_string;
 
-	window = NAUTILUS_WINDOW (slot->window);
+	window = NAUTILUS_WINDOW (slot->pane->window);
 
 	if (slot->content_view == NULL ||
 	    slot->viewed_file == NULL) {
@@ -315,7 +315,7 @@ nautilus_spatial_window_save_show_hidden_files_mode (NautilusWindowSlot *slot)
 		return;
 	}
 	
-	window = NAUTILUS_WINDOW (slot->window);
+	window = NAUTILUS_WINDOW (slot->pane->window);
 
 	mode = NAUTILUS_WINDOW (window)->details->show_hidden_files_mode;
 	if (mode != NAUTILUS_WINDOW_SHOW_HIDDEN_FILES_DEFAULT) {
@@ -458,7 +458,7 @@ real_open_slot (NautilusWindow *window,
 	g_list_free (slots);
 
 	slot = g_object_new (NAUTILUS_TYPE_WINDOW_SLOT, NULL);
-	slot->window = window;
+	slot->pane = window->details->active_pane;
 	gtk_container_add (GTK_CONTAINER (NAUTILUS_SPATIAL_WINDOW (window)->details->content_box),
 			   slot->content_box);
 	gtk_widget_show (slot->content_box);
diff --git a/src/nautilus-window-manage-views.c b/src/nautilus-window-manage-views.c
index 76fdcc4..1c17997 100644
--- a/src/nautilus-window-manage-views.c
+++ b/src/nautilus-window-manage-views.c
@@ -125,7 +125,7 @@ set_displayed_location (NautilusWindowSlot *slot, GFile *location)
         gboolean recreate;
 	char *name;
 
-	window = slot->window;
+	window = slot->pane->window;
         
         if (slot->current_location_bookmark == NULL || location == NULL) {
                 recreate = TRUE;
@@ -323,7 +323,7 @@ viewed_file_changed_callback (NautilusFile *file,
         GFile *new_location;
 	gboolean is_in_trash, was_in_trash;
 
-	window = slot->window;
+	window = slot->pane->window;
 
         g_assert (NAUTILUS_IS_FILE (file));
 	g_assert (NAUTILUS_IS_WINDOW (window));
@@ -490,7 +490,7 @@ nautilus_window_slot_open_location_full (NautilusWindowSlot *slot,
 	char *old_uri, *new_uri;
 	int new_slot_position;
 
-	window = slot->window;
+	window = slot->pane->window;
 
         target_window = NULL;
 	target_slot = NULL;
@@ -724,7 +724,7 @@ report_current_content_view_failure_to_user (NautilusWindowSlot *slot)
 	NautilusWindow *window;
 	char *message;
 
-	window = slot->window;
+	window = slot->pane->window;
 
 	message = nautilus_window_slot_get_view_startup_error_label (slot);
   	eel_show_error_dialog (message,
@@ -740,7 +740,7 @@ report_nascent_content_view_failure_to_user (NautilusWindowSlot *slot,
 	NautilusWindow *window;
 	char *message;
 
-	window = slot->window;
+	window = slot->pane->window;
 
 	/* TODO? why are we using the current view's error label here, instead of the next view's?
  	 * This behavior has already been present in pre-slot days.
@@ -808,7 +808,7 @@ begin_location_change (NautilusWindowSlot *slot,
                   || type == NAUTILUS_LOCATION_CHANGE_FORWARD
                   || distance == 0);
 
-	window = slot->window;
+	window = slot->pane->window;
         g_assert (NAUTILUS_IS_WINDOW (window));
         g_object_ref (window);
 
@@ -887,7 +887,7 @@ setup_new_spatial_window (NautilusWindowSlot *slot, NautilusFile *file)
 	gboolean maximized, sticky, above;
 	GtkAction *action;
 
-	window = slot->window;
+	window = slot->pane->window;
 
 	if (NAUTILUS_IS_SPATIAL_WINDOW (window) && !NAUTILUS_IS_DESKTOP_WINDOW (window)) {
 		/* load show hidden state */
@@ -985,7 +985,7 @@ mount_not_mounted_callback (GObject *source_object,
 
 	data = user_data;
 	slot = data->slot;
-	window = slot->window;
+	window = slot->pane->window;
 	cancellable = data->cancellable;
 	g_free (data);
 
@@ -1034,7 +1034,7 @@ got_file_info_for_view_selection_callback (NautilusFile *file,
 	g_assert (NAUTILUS_IS_WINDOW_SLOT (slot));
 	g_assert (slot->determine_view_file == file);
 
-	window = slot->window;
+	window = slot->pane->window;
 	g_assert (NAUTILUS_IS_WINDOW (window));
 
 	slot->determine_view_file = NULL;
@@ -1195,7 +1195,7 @@ create_content_view (NautilusWindowSlot *slot,
         NautilusView *view;
 	GList *selection;
 
-	window = slot->window;
+	window = slot->pane->window;
 
  	/* FIXME bugzilla.gnome.org 41243: 
 	 * We should use inheritance instead of these special cases
@@ -1270,7 +1270,7 @@ load_new_location (NautilusWindowSlot *slot,
 	g_assert (slot != NULL);
 	g_assert (location != NULL);
 
-	window = slot->window;
+	window = slot->pane->window;
 	g_assert (NAUTILUS_IS_WINDOW (window));
 
 	selection_copy = eel_g_object_list_copy (selection);
@@ -1377,7 +1377,7 @@ location_has_really_changed (NautilusWindowSlot *slot)
 	GtkWidget *widget;
 	GFile *location_copy;
 
-	window = slot->window;
+	window = slot->pane->window;
 
 	if (slot->new_content_view != NULL) {
 		widget = nautilus_view_get_widget (slot->new_content_view);
@@ -1427,7 +1427,7 @@ slot_add_extension_extra_widgets (NautilusWindowSlot *slot)
 		NautilusLocationWidgetProvider *provider;
 		
 		provider = NAUTILUS_LOCATION_WIDGET_PROVIDER (l->data);
-		widget = nautilus_location_widget_provider_get_widget (provider, uri, GTK_WIDGET (slot->window));
+		widget = nautilus_location_widget_provider_get_widget (provider, uri, GTK_WIDGET (slot->pane->window));
 		if (widget != NULL) {
 			nautilus_window_slot_add_extra_location_widget (slot, widget);
 		}
@@ -1594,7 +1594,7 @@ update_for_new_location (NautilusWindowSlot *slot)
 	gboolean location_really_changed;
 	FindMountData *data;
 
-	window = slot->window;
+	window = slot->pane->window;
 
 	new_location = slot->pending_location;
 	slot->pending_location = NULL;
@@ -1721,7 +1721,7 @@ end_location_change (NautilusWindowSlot *slot)
 	NautilusWindow *window;
 	char *uri;
 
-	window = slot->window;
+	window = slot->pane->window;
 
 	uri = nautilus_window_slot_get_location_uri (slot);
 	if (uri) {
@@ -1746,7 +1746,7 @@ free_location_change (NautilusWindowSlot *slot)
 {
 	NautilusWindow *window;
 
-	window = slot->window;
+	window = slot->pane->window;
 	g_assert (NAUTILUS_IS_WINDOW (window));
 
 	if (slot->pending_location) {
@@ -1971,7 +1971,7 @@ nautilus_window_slot_stop_loading (NautilusWindowSlot *slot)
 {
 	NautilusWindow *window;
 
-	window = NAUTILUS_WINDOW (slot->window);
+	window = NAUTILUS_WINDOW (slot->pane->window);
 	g_assert (NAUTILUS_IS_WINDOW (window));
 
 	nautilus_view_stop_loading (slot->content_view);
@@ -1997,7 +1997,7 @@ nautilus_window_slot_set_content_view (NautilusWindowSlot *slot,
 	g_assert (slot->location != NULL);
 	g_assert (id != NULL);
 
-	window = slot->window;
+	window = slot->pane->window;
 	g_assert (NAUTILUS_IS_WINDOW (window));
   
 	uri = nautilus_window_slot_get_location_uri (slot);
diff --git a/src/nautilus-window-slot.c b/src/nautilus-window-slot.c
index 320f0c0..d556bf5 100644
--- a/src/nautilus-window-slot.c
+++ b/src/nautilus-window-slot.c
@@ -108,7 +108,7 @@ real_active (NautilusWindowSlot *slot)
 {
 	NautilusWindow *window;
 
-	window = slot->window;
+	window = slot->pane->window;
 
 	/* sync window to new slot */
 	nautilus_window_sync_status (window);
@@ -131,7 +131,7 @@ nautilus_window_slot_active (NautilusWindowSlot *slot)
 
 	g_assert (NAUTILUS_IS_WINDOW_SLOT (slot));
 
-	window = NAUTILUS_WINDOW (slot->window);
+	window = NAUTILUS_WINDOW (slot->pane->window);
 	g_assert (g_list_find (window->details->slots, slot) != NULL);
 	g_assert (slot == window->details->active_slot);
 
@@ -144,7 +144,7 @@ real_inactive (NautilusWindowSlot *slot)
 {
 	NautilusWindow *window;
 
-	window = NAUTILUS_WINDOW (slot->window);
+	window = NAUTILUS_WINDOW (slot->pane->window);
 	g_assert (slot == window->details->active_slot);
 }
 
@@ -155,7 +155,7 @@ nautilus_window_slot_inactive (NautilusWindowSlot *slot)
 
 	g_assert (NAUTILUS_IS_WINDOW_SLOT (slot));
 
-	window = NAUTILUS_WINDOW (slot->window);
+	window = NAUTILUS_WINDOW (slot->pane->window);
 	g_assert (g_list_find (window->details->slots, slot) != NULL);
 	g_assert (slot == window->details->active_slot);
 
@@ -216,7 +216,7 @@ GFile *
 nautilus_window_slot_get_location (NautilusWindowSlot *slot)
 {
 	g_assert (slot != NULL);
-	g_assert (NAUTILUS_IS_WINDOW (slot->window));
+	g_assert (NAUTILUS_IS_WINDOW (slot->pane->window));
 
 	if (slot->location != NULL) {
 		return g_object_ref (slot->location);
@@ -260,7 +260,7 @@ static NautilusWindow *
 nautilus_window_slot_get_window (NautilusWindowSlot *slot)
 {
 	g_assert (NAUTILUS_IS_WINDOW_SLOT (slot));
-	return slot->window;
+	return slot->pane->window;
 }
 
 /* nautilus_window_slot_set_title:
@@ -278,7 +278,7 @@ nautilus_window_slot_set_title (NautilusWindowSlot *slot,
 
 	g_assert (NAUTILUS_IS_WINDOW_SLOT (slot));
 
-	window = NAUTILUS_WINDOW (slot->window);
+	window = NAUTILUS_WINDOW (slot->pane->window);
 
 	changed = FALSE;
 
@@ -335,7 +335,7 @@ nautilus_window_slot_update_icon (NautilusWindowSlot *slot)
 	const char *icon_name;
 	GdkPixbuf *pixbuf;
 
-	window = slot->window;
+	window = slot->pane->window;
 
 	g_return_if_fail (NAUTILUS_IS_WINDOW (window));
 
@@ -370,7 +370,7 @@ static void
 title_changed_callback (NautilusView *view,
 			NautilusWindowSlot *slot)
 {
-        g_assert (NAUTILUS_IS_WINDOW (slot->window));
+        g_assert (NAUTILUS_IS_WINDOW (slot->pane->window));
 
         nautilus_window_slot_update_title (slot);
 	nautilus_window_slot_update_icon (slot);
@@ -387,7 +387,7 @@ nautilus_window_slot_connect_content_view (NautilusWindowSlot *slot,
 			  G_CALLBACK (title_changed_callback),
 			  slot);
 
-	window = slot->window;
+	window = slot->pane->window;
 	if (window != NULL && slot == nautilus_window_get_active_slot (window)) {
 		nautilus_window_connect_content_view (window, view);
 	}
@@ -401,7 +401,7 @@ nautilus_window_slot_disconnect_content_view (NautilusWindowSlot *slot,
 
 	g_signal_handlers_disconnect_by_func (view, G_CALLBACK (title_changed_callback), slot);
 
-	window = slot->window;
+	window = slot->pane->window;
 	if (window != NULL && slot == nautilus_window_get_active_slot (window)) {
 		nautilus_window_disconnect_content_view (window, view);
 	}
@@ -414,7 +414,7 @@ nautilus_window_slot_set_content_view_widget (NautilusWindowSlot *slot,
 	NautilusWindow *window;
 	GtkWidget *widget;
 
-	window = slot->window;
+	window = slot->pane->window;
 	g_assert (NAUTILUS_IS_WINDOW (window));
 
 	if (slot->content_view != NULL) {
@@ -452,7 +452,7 @@ nautilus_window_slot_set_allow_stop (NautilusWindowSlot *slot,
 
 	slot->allow_stop = allow;
 
-	window = NAUTILUS_WINDOW (slot->window);
+	window = NAUTILUS_WINDOW (slot->pane->window);
 	nautilus_window_sync_allow_stop (window, slot);
 }
 
@@ -467,7 +467,7 @@ nautilus_window_slot_set_status (NautilusWindowSlot *slot,
 	g_free (slot->status_text);
 	slot->status_text = g_strdup (status);
 
-	window = NAUTILUS_WINDOW (slot->window);
+	window = NAUTILUS_WINDOW (slot->pane->window);
 	if (slot == window->details->active_slot) {
 		nautilus_window_sync_status (window);
 	}
@@ -526,7 +526,7 @@ void
 nautilus_window_slot_add_current_location_to_history_list (NautilusWindowSlot *slot)
 {
 
-	if ((slot->window == NULL || !NAUTILUS_IS_DESKTOP_WINDOW (slot->window)) &&
+	if ((slot->pane->window == NULL || !NAUTILUS_IS_DESKTOP_WINDOW (slot->pane->window)) &&
 	    nautilus_add_bookmark_to_history_list (slot->current_location_bookmark)) {
 		nautilus_send_history_list_changed ();
 	}
@@ -618,7 +618,7 @@ nautilus_window_slot_dispose (GObject *object)
 		slot->find_mount_cancellable = NULL;
 	}
 
-	slot->window = NULL;
+	slot->pane = NULL;
 
 	g_free (slot->title);
 	slot->title = NULL;
diff --git a/src/nautilus-window-slot.h b/src/nautilus-window-slot.h
index bec9692..ba04dce 100644
--- a/src/nautilus-window-slot.h
+++ b/src/nautilus-window-slot.h
@@ -25,7 +25,7 @@
 #ifndef NAUTILUS_WINDOW_SLOT_H
 #define NAUTILUS_WINDOW_SLOT_H
 
-#include "nautilus-window.h"
+#include "nautilus-window-pane.h"
 #include "nautilus-query-editor.h"
 #include <glib/gi18n.h>
 
@@ -65,7 +65,7 @@ struct NautilusWindowSlotClass {
 struct NautilusWindowSlot {
 	GObject parent;
 
-	NautilusWindow *window;
+	NautilusWindowPane *pane;
 
 	/* content_box contains
  	 *  1) an event box containing extra_location_widgets
diff --git a/src/nautilus-window.c b/src/nautilus-window.c
index ccc44f7..33bac40 100644
--- a/src/nautilus-window.c
+++ b/src/nautilus-window.c
@@ -762,7 +762,7 @@ nautilus_window_close_slot (NautilusWindow *window,
 {
 	g_assert (NAUTILUS_IS_WINDOW (window));
 	g_assert (NAUTILUS_IS_WINDOW_SLOT (slot));
-	g_assert (window == slot->window);
+	g_assert (window == slot->pane->window);
 	g_assert (g_list_find (window->details->slots, slot) != NULL);
 
 	EEL_CALL_METHOD (NAUTILUS_WINDOW_CLASS, window,
@@ -798,7 +798,7 @@ nautilus_window_set_active_slot (NautilusWindow *window,
 
 	if (new_slot != NULL) {
 		g_assert (NAUTILUS_IS_WINDOW_SLOT (new_slot));
-		g_assert (window == new_slot->window);
+		g_assert (window == new_slot->pane->window);
 		g_assert (g_list_find (window->details->slots, new_slot) != NULL);
 	}
 
@@ -861,7 +861,7 @@ nautilus_window_slot_close (NautilusWindowSlot *slot)
 	NautilusWindow *window;
 	NautilusWindowSlot *next_slot;
 
-	window = slot->window;
+	window = slot->pane->window;
 	if (window != NULL) {
 		if (window->details->active_slot == slot) {
 			g_assert (window->details->active_slots != NULL);
@@ -1281,7 +1281,7 @@ load_view_as_menus_callback (NautilusFile *file,
 	NautilusWindowSlot *slot;
 
 	slot = callback_data;
-	window = NAUTILUS_WINDOW (slot->window);
+	window = NAUTILUS_WINDOW (slot->pane->window);
 
 	if (slot == window->details->active_slot) {
 		load_view_as_menu (window);
@@ -1502,7 +1502,7 @@ nautilus_window_slot_set_viewed_file (NautilusWindowSlot *slot,
 	NautilusWindow *window;
 	NautilusFileAttributes attributes;
 
-	window = slot->window;
+	window = slot->pane->window;
 
 	if (slot->viewed_file == file) {
 		return;



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