[nautilus] window: move nautilus_window_open_slot to NautilusWindowPane
- From: Cosimo Cecchi <cosimoc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus] window: move nautilus_window_open_slot to NautilusWindowPane
- Date: Mon, 9 Jan 2012 22:24:58 +0000 (UTC)
commit 33a79d4ca73be9b45b19ff28cd702103a40333c5
Author: Cosimo Cecchi <cosimoc gnome org>
Date: Fri Jan 6 03:05:47 2012 +0100
window: move nautilus_window_open_slot to NautilusWindowPane
Where it should really belong.
src/nautilus-window-manage-views.c | 4 +-
src/nautilus-window-pane.c | 75 ++++++++++++++++++++++++++----------
src/nautilus-window-pane.h | 12 ++---
src/nautilus-window-private.h | 4 --
src/nautilus-window.c | 64 ++----------------------------
5 files changed, 66 insertions(+), 93 deletions(-)
---
diff --git a/src/nautilus-window-manage-views.c b/src/nautilus-window-manage-views.c
index 69dffe9..4179161 100644
--- a/src/nautilus-window-manage-views.c
+++ b/src/nautilus-window-manage-views.c
@@ -510,8 +510,8 @@ nautilus_window_slot_open_location_full (NautilusWindowSlot *slot,
slot_flags = NAUTILUS_WINDOW_OPEN_SLOT_APPEND;
}
- target_slot = nautilus_window_open_slot (nautilus_window_get_active_pane (window),
- slot_flags);
+ target_slot = nautilus_window_pane_open_slot (nautilus_window_get_active_pane (window),
+ slot_flags);
}
/* close the current window if the flags say so */
diff --git a/src/nautilus-window-pane.c b/src/nautilus-window-pane.c
index 530367d..fe06bfc 100644
--- a/src/nautilus-window-pane.c
+++ b/src/nautilus-window-pane.c
@@ -936,7 +936,7 @@ nautilus_window_pane_slot_close (NautilusWindowPane *pane,
nautilus_window_set_active_slot (window, next_slot);
}
- nautilus_window_close_slot (slot);
+ nautilus_window_pane_close_slot (pane, slot);
/* If that was the last slot in the pane, close the pane or even the whole window. */
if (pane->slots == NULL) {
@@ -989,39 +989,72 @@ nautilus_window_pane_ensure_location_bar (NautilusWindowPane *pane)
}
void
-nautilus_window_pane_add_slot_in_tab (NautilusWindowPane *pane,
- NautilusWindowSlot *slot,
- NautilusWindowOpenSlotFlags flags)
+nautilus_window_pane_close_slot (NautilusWindowPane *pane,
+ NautilusWindowSlot *slot)
{
- NautilusNotebook *notebook;
+ int page_num;
+ GtkNotebook *notebook;
+
+ g_assert (NAUTILUS_IS_WINDOW_SLOT (slot));
+ g_assert (NAUTILUS_IS_WINDOW_PANE (slot->pane));
+ g_assert (g_list_find (slot->pane->slots, slot) != NULL);
+
+ DEBUG ("Closing slot %p", slot);
+
+ /* save pane because slot is not valid anymore after this call */
+ pane = slot->pane;
+ notebook = GTK_NOTEBOOK (pane->notebook);
+
+ page_num = gtk_notebook_page_num (notebook, GTK_WIDGET (slot->content_box));
+ g_assert (page_num >= 0);
- notebook = NAUTILUS_NOTEBOOK (pane->notebook);
g_signal_handlers_block_by_func (notebook,
- G_CALLBACK (notebook_switch_page_cb),
+ G_CALLBACK (notebook_switch_page_cb),
pane);
- nautilus_notebook_add_tab (notebook,
- slot,
- (flags & NAUTILUS_WINDOW_OPEN_SLOT_APPEND) != 0 ?
- -1 :
- gtk_notebook_get_current_page (GTK_NOTEBOOK (notebook)) + 1,
- FALSE);
+ gtk_notebook_remove_page (notebook, page_num);
g_signal_handlers_unblock_by_func (notebook,
G_CALLBACK (notebook_switch_page_cb),
pane);
+
+ gtk_notebook_set_show_tabs (notebook,
+ gtk_notebook_get_n_pages (notebook) > 1);
+
+ nautilus_window_manage_views_close_slot (pane, slot);
+
+ g_object_run_dispose (G_OBJECT (slot));
+ slot->pane = NULL;
+ g_object_unref (slot);
+ pane->slots = g_list_remove (pane->slots, slot);
}
-void
-nautilus_window_pane_remove_page (NautilusWindowPane *pane,
- int page_num)
+NautilusWindowSlot *
+nautilus_window_pane_open_slot (NautilusWindowPane *pane,
+ NautilusWindowOpenSlotFlags flags)
{
- GtkNotebook *notebook;
- notebook = GTK_NOTEBOOK (pane->notebook);
+ NautilusWindowSlot *slot;
- g_signal_handlers_block_by_func (notebook,
+ g_assert (NAUTILUS_IS_WINDOW_PANE (pane));
+ g_assert (NAUTILUS_IS_WINDOW (pane->window));
+
+ slot = (NautilusWindowSlot *) g_object_new (NAUTILUS_TYPE_WINDOW_SLOT, NULL);
+ slot->pane = pane;
+
+ g_signal_handlers_block_by_func (pane->notebook,
G_CALLBACK (notebook_switch_page_cb),
pane);
- gtk_notebook_remove_page (notebook, page_num);
- g_signal_handlers_unblock_by_func (notebook,
+ nautilus_notebook_add_tab (NAUTILUS_NOTEBOOK (pane->notebook),
+ slot,
+ (flags & NAUTILUS_WINDOW_OPEN_SLOT_APPEND) != 0 ?
+ -1 :
+ gtk_notebook_get_current_page (GTK_NOTEBOOK (pane->notebook)) + 1,
+ FALSE);
+ g_signal_handlers_unblock_by_func (pane->notebook,
G_CALLBACK (notebook_switch_page_cb),
pane);
+
+ gtk_widget_show (GTK_WIDGET (slot->content_box));
+
+ pane->slots = g_list_append (pane->slots, slot);
+
+ return slot;
}
diff --git a/src/nautilus-window-pane.h b/src/nautilus-window-pane.h
index 2e48c4a..ec83e17 100644
--- a/src/nautilus-window-pane.h
+++ b/src/nautilus-window-pane.h
@@ -86,6 +86,11 @@ GType nautilus_window_pane_get_type (void);
NautilusWindowPane *nautilus_window_pane_new (NautilusWindow *window);
+NautilusWindowSlot *nautilus_window_pane_open_slot (NautilusWindowPane *pane,
+ NautilusWindowOpenSlotFlags flags);
+void nautilus_window_pane_close_slot (NautilusWindowPane *pane,
+ NautilusWindowSlot *slot);
+
void nautilus_window_pane_sync_location_widgets (NautilusWindowPane *pane);
void nautilus_window_pane_sync_search_widgets (NautilusWindowPane *pane);
void nautilus_window_pane_set_active (NautilusWindowPane *pane, gboolean is_active);
@@ -99,11 +104,4 @@ void nautilus_window_pane_grab_focus (NautilusWindowPane *pane);
/* bars */
void nautilus_window_pane_ensure_location_bar (NautilusWindowPane *pane);
-/* notebook */
-void nautilus_window_pane_add_slot_in_tab (NautilusWindowPane *pane,
- NautilusWindowSlot *slot,
- NautilusWindowOpenSlotFlags flags);
-void nautilus_window_pane_remove_page (NautilusWindowPane *pane,
- int page_num);
-
#endif /* NAUTILUS_WINDOW_PANE_H */
diff --git a/src/nautilus-window-private.h b/src/nautilus-window-private.h
index 8c159c4..b993d16 100644
--- a/src/nautilus-window-private.h
+++ b/src/nautilus-window-private.h
@@ -133,10 +133,6 @@ void nautilus_menus_append_bookmark_to_menu (Nautil
GCallback refresh_callback,
NautilusBookmarkFailedCallback failed_callback);
-NautilusWindowSlot *nautilus_window_open_slot (NautilusWindowPane *pane,
- NautilusWindowOpenSlotFlags flags);
-void nautilus_window_close_slot (NautilusWindowSlot *slot);
-
NautilusWindowSlot *nautilus_window_get_slot_for_view (NautilusWindow *window,
NautilusView *view);
diff --git a/src/nautilus-window.c b/src/nautilus-window.c
index 3e605f2..12bf47d 100644
--- a/src/nautilus-window.c
+++ b/src/nautilus-window.c
@@ -235,7 +235,7 @@ nautilus_window_new_tab (NautilusWindow *window)
}
g_free (scheme);
- new_slot = nautilus_window_open_slot (current_slot->pane, flags);
+ new_slot = nautilus_window_pane_open_slot (current_slot->pane, flags);
nautilus_window_set_active_slot (window, new_slot);
nautilus_window_slot_go_to (new_slot, location, FALSE);
g_object_unref (location);
@@ -638,7 +638,7 @@ nautilus_window_constructed (GObject *self)
nautilus_window_set_initial_window_geometry (window);
nautilus_undo_manager_attach (application->undo_manager, G_OBJECT (window));
- slot = nautilus_window_open_slot (window->details->active_pane, 0);
+ slot = nautilus_window_pane_open_slot (window->details->active_pane, 0);
nautilus_window_set_active_slot (window, slot);
}
@@ -842,26 +842,6 @@ nautilus_window_close (NautilusWindow *window)
NAUTILUS_WINDOW_CLASS (G_OBJECT_GET_CLASS (window))->close (window);
}
-NautilusWindowSlot *
-nautilus_window_open_slot (NautilusWindowPane *pane,
- NautilusWindowOpenSlotFlags flags)
-{
- NautilusWindowSlot *slot;
-
- g_assert (NAUTILUS_IS_WINDOW_PANE (pane));
- g_assert (NAUTILUS_IS_WINDOW (pane->window));
-
- slot = (NautilusWindowSlot *) g_object_new (NAUTILUS_TYPE_WINDOW_SLOT, NULL);
- slot->pane = pane;
-
- nautilus_window_pane_add_slot_in_tab (pane, slot, flags);
- gtk_widget_show (slot->content_box);
-
- pane->slots = g_list_append (pane->slots, slot);
-
- return slot;
-}
-
void
nautilus_window_close_pane (NautilusWindow *window,
NautilusWindowPane *pane)
@@ -871,7 +851,7 @@ nautilus_window_close_pane (NautilusWindow *window,
while (pane->slots != NULL) {
NautilusWindowSlot *slot = pane->slots->data;
- nautilus_window_close_slot (slot);
+ nautilus_window_pane_close_slot (pane, slot);
}
/* If the pane was active, set it to NULL. The caller is responsible
@@ -886,40 +866,6 @@ nautilus_window_close_pane (NautilusWindow *window,
gtk_widget_destroy (GTK_WIDGET (pane));
}
-void
-nautilus_window_close_slot (NautilusWindowSlot *slot)
-{
- NautilusWindowPane *pane;
- int page_num;
- GtkNotebook *notebook;
-
- g_assert (NAUTILUS_IS_WINDOW_SLOT (slot));
- g_assert (NAUTILUS_IS_WINDOW_PANE(slot->pane));
- g_assert (g_list_find (slot->pane->slots, slot) != NULL);
-
- DEBUG ("Closing slot %p", slot);
-
- /* save pane because slot is not valid anymore after this call */
- pane = slot->pane;
- notebook = GTK_NOTEBOOK (pane->notebook);
-
- page_num = gtk_notebook_page_num (notebook, slot->content_box);
- g_assert (page_num >= 0);
-
- nautilus_window_pane_remove_page (pane, page_num);
-
- gtk_notebook_set_show_tabs (notebook,
- gtk_notebook_get_n_pages (notebook) > 1);
-
- nautilus_window_manage_views_close_slot (pane, slot);
- cancel_view_as_callback (slot);
-
- g_object_run_dispose (G_OBJECT (slot));
- slot->pane = NULL;
- g_object_unref (slot);
- pane->slots = g_list_remove (pane->slots, slot);
-}
-
NautilusWindowPane*
nautilus_window_get_active_pane (NautilusWindow *window)
{
@@ -1814,8 +1760,8 @@ create_extra_pane (NautilusWindow *window)
}
/* slot */
- slot = nautilus_window_open_slot (NAUTILUS_WINDOW_PANE (pane),
- NAUTILUS_WINDOW_OPEN_SLOT_APPEND);
+ slot = nautilus_window_pane_open_slot (NAUTILUS_WINDOW_PANE (pane),
+ NAUTILUS_WINDOW_OPEN_SLOT_APPEND);
pane->active_slot = slot;
return slot;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]