nautilus r14216 - in branches/multiview: . src
- From: cneumair svn gnome org
- To: svn-commits-list gnome org
- Subject: nautilus r14216 - in branches/multiview: . src
- Date: Sat, 31 May 2008 10:55:48 +0000 (UTC)
Author: cneumair
Date: Sat May 31 10:55:48 2008
New Revision: 14216
URL: http://svn.gnome.org/viewvc/nautilus?rev=14216&view=rev
Log:
2008-05-31 Christian Neumair <cneumair gnome org>
* src/nautilus-window.c (get_first_inactive_slot),
(nautilus_window_slot_close):
If no previously active slot remains, use an inactive slot.
Modified:
branches/multiview/ChangeLog
branches/multiview/src/nautilus-window.c
Modified: branches/multiview/src/nautilus-window.c
==============================================================================
--- branches/multiview/src/nautilus-window.c (original)
+++ branches/multiview/src/nautilus-window.c Sat May 31 10:55:48 2008
@@ -841,18 +841,39 @@
return NULL;
}
+static inline NautilusWindowSlot *
+get_first_inactive_slot (NautilusWindow *window)
+{
+ GList *l;
+ NautilusWindowSlot *slot;
+
+ for (l = window->details->slots; l != NULL; l = l->next) {
+ slot = NAUTILUS_WINDOW_SLOT (l->data);
+ if (slot != window->details->active_slot) {
+ return slot;
+ }
+ }
+
+ return NULL;
+}
+
void
nautilus_window_slot_close (NautilusWindowSlot *slot)
{
NautilusWindow *window;
+ NautilusWindowSlot *next_slot;
window = slot->window;
if (window != NULL) {
window->details->active_slots = g_list_remove (window->details->active_slots, slot);
if (window->details->active_slot == slot) {
- nautilus_window_set_active_slot (window,
- get_last_active_slot (window));
+ next_slot = get_last_active_slot (window);
+ if (next_slot == NULL) {
+ next_slot = get_first_inactive_slot (window);
+ }
+
+ nautilus_window_set_active_slot (window, next_slot);
}
nautilus_window_close_slot (window, slot);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]