[nautilus] slot: cleanup NautilusWindowSlot creation



commit 7289cc044cfaa3eee69396805d4e6dd8644a9483
Author: Cosimo Cecchi <cosimoc gnome org>
Date:   Fri Jan 6 12:32:27 2012 +0100

    slot: cleanup NautilusWindowSlot creation

 src/nautilus-window-pane.c |    3 +--
 src/nautilus-window-slot.c |   30 +++++++++++++++++++++---------
 src/nautilus-window-slot.h |    2 ++
 3 files changed, 24 insertions(+), 11 deletions(-)
---
diff --git a/src/nautilus-window-pane.c b/src/nautilus-window-pane.c
index fe06bfc..11009d5 100644
--- a/src/nautilus-window-pane.c
+++ b/src/nautilus-window-pane.c
@@ -1036,8 +1036,7 @@ nautilus_window_pane_open_slot (NautilusWindowPane *pane,
 	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;
+	slot = nautilus_window_slot_new (pane);
 
 	g_signal_handlers_block_by_func (pane->notebook,
 					 G_CALLBACK (notebook_switch_page_cb),
diff --git a/src/nautilus-window-slot.c b/src/nautilus-window-slot.c
index 2c3b124..5c8ee91 100644
--- a/src/nautilus-window-slot.c
+++ b/src/nautilus-window-slot.c
@@ -37,7 +37,6 @@
 #include <eel/eel-string.h>
 
 G_DEFINE_TYPE (NautilusWindowSlot, nautilus_window_slot, G_TYPE_OBJECT);
-#define parent_class nautilus_window_slot_parent_class
 
 enum {
 	ACTIVE,
@@ -268,18 +267,22 @@ nautilus_window_slot_dispose (GObject *object)
 	g_free (slot->status_text);
 	slot->status_text = NULL;
 
-	G_OBJECT_CLASS (parent_class)->dispose (object);
+	G_OBJECT_CLASS (nautilus_window_slot_parent_class)->dispose (object);
 }
 
 static void
-nautilus_window_slot_class_init (NautilusWindowSlotClass *class)
+nautilus_window_slot_class_init (NautilusWindowSlotClass *klass)
 {
-	class->active = real_active;
-	class->inactive = real_inactive;
+	GObjectClass *oclass = G_OBJECT_CLASS (klass);
+
+	klass->active = real_active;
+	klass->inactive = real_inactive;
+
+	oclass->dispose = nautilus_window_slot_dispose;
 
 	signals[ACTIVE] =
 		g_signal_new ("active",
-			      G_TYPE_FROM_CLASS (class),
+			      G_TYPE_FROM_CLASS (klass),
 			      G_SIGNAL_RUN_LAST,
 			      G_STRUCT_OFFSET (NautilusWindowSlotClass, active),
 			      NULL, NULL,
@@ -288,14 +291,12 @@ nautilus_window_slot_class_init (NautilusWindowSlotClass *class)
 
 	signals[INACTIVE] =
 		g_signal_new ("inactive",
-			      G_TYPE_FROM_CLASS (class),
+			      G_TYPE_FROM_CLASS (klass),
 			      G_SIGNAL_RUN_LAST,
 			      G_STRUCT_OFFSET (NautilusWindowSlotClass, inactive),
 			      NULL, NULL,
 			      g_cclosure_marshal_VOID__VOID,
 			      G_TYPE_NONE, 0);
-
-	G_OBJECT_CLASS (class)->dispose = nautilus_window_slot_dispose;
 }
 
 GFile *
@@ -756,3 +757,14 @@ nautilus_window_slot_should_close_with_mount (NautilusWindowSlot *slot,
 
 	return close_with_mount;
 }
+
+NautilusWindowSlot *
+nautilus_window_slot_new (NautilusWindowPane *pane)
+{
+	NautilusWindowSlot *slot;
+
+	slot = g_object_new (NAUTILUS_TYPE_WINDOW_SLOT, NULL);
+	slot->pane = pane;
+
+	return slot;
+}
diff --git a/src/nautilus-window-slot.h b/src/nautilus-window-slot.h
index 9831584..9d96f15 100644
--- a/src/nautilus-window-slot.h
+++ b/src/nautilus-window-slot.h
@@ -123,6 +123,8 @@ struct NautilusWindowSlot {
 
 GType   nautilus_window_slot_get_type (void);
 
+NautilusWindowSlot * nautilus_window_slot_new (NautilusWindowPane *pane);
+
 void    nautilus_window_slot_update_title		   (NautilusWindowSlot *slot);
 void    nautilus_window_slot_update_icon		   (NautilusWindowSlot *slot);
 void    nautilus_window_slot_update_query_editor	   (NautilusWindowSlot *slot);



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