[epiphany] EphySession: Use g_object_class_install_properties.



commit 100849b924b6b624b13e9ac66d8ddfda69fe538a
Author: Arnaud Bonatti <arnaud bonatti gmail com>
Date:   Fri Dec 11 01:34:08 2015 +0100

    EphySession: Use g_object_class_install_properties.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=759401

 src/ephy-session.c |   24 ++++++++++++++----------
 1 files changed, 14 insertions(+), 10 deletions(-)
---
diff --git a/src/ephy-session.c b/src/ephy-session.c
index 4310959..0578442 100644
--- a/src/ephy-session.c
+++ b/src/ephy-session.c
@@ -65,9 +65,12 @@ struct _EphySessionPrivate
 enum
 {
        PROP_0,
-       PROP_CAN_UNDO_TAB_CLOSED
+       PROP_CAN_UNDO_TAB_CLOSED,
+       LAST_PROP
 };
 
+static GParamSpec *obj_properties[LAST_PROP];
+
 G_DEFINE_TYPE (EphySession, ephy_session, G_TYPE_OBJECT)
 
 /* Helper functions */
@@ -286,7 +289,7 @@ ephy_session_undo_close_tab (EphySession *session)
        closed_tab_free (tab);
 
        if (g_queue_is_empty (priv->closed_tabs))
-               g_object_notify (G_OBJECT (session), "can-undo-tab-closed");
+               g_object_notify_by_pspec (G_OBJECT (session), obj_properties[PROP_CAN_UNDO_TAB_CLOSED]);
 }
 
 static void
@@ -329,7 +332,7 @@ ephy_session_tab_closed (EphySession *session,
        g_queue_push_head (priv->closed_tabs, tab);
 
        if (g_queue_get_length (priv->closed_tabs) == 1)
-               g_object_notify (G_OBJECT (session), "can-undo-tab-closed");
+               g_object_notify_by_pspec (G_OBJECT (session), obj_properties[PROP_CAN_UNDO_TAB_CLOSED]);
 
        LOG ("Added: %s to the list (%d elements)",
             address, g_queue_get_length (priv->closed_tabs));
@@ -511,13 +514,14 @@ ephy_session_class_init (EphySessionClass *class)
        object_class->dispose = ephy_session_dispose;
        object_class->get_property = ephy_session_get_property;
 
-       g_object_class_install_property (object_class,
-                                        PROP_CAN_UNDO_TAB_CLOSED,
-                                        g_param_spec_boolean ("can-undo-tab-closed",
-                                                              "Can undo tab close",
-                                                              "Session can undo a tab closure",
-                                                              FALSE,
-                                                              G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+       obj_properties[PROP_CAN_UNDO_TAB_CLOSED] =
+               g_param_spec_boolean ("can-undo-tab-closed",
+                                     "Can undo tab close",
+                                     "Session can undo a tab closure",
+                                     FALSE,
+                                     G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+       g_object_class_install_properties (object_class, LAST_PROP, obj_properties);
 
        g_type_class_add_private (object_class, sizeof (EphySessionPrivate));
 }


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