[epiphany] EphyBookmarkAction: Use g_object_class_install_properties.
- From: Michael Catanzaro <mcatanzaro src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [epiphany] EphyBookmarkAction: Use g_object_class_install_properties.
- Date: Wed, 16 Dec 2015 13:09:09 +0000 (UTC)
commit 464efbc8d5ac93add13b100d52827157ad9d7a80
Author: Arnaud Bonatti <arnaud bonatti gmail com>
Date: Sat Dec 12 17:37:59 2015 +0100
EphyBookmarkAction: Use g_object_class_install_properties.
https://bugzilla.gnome.org/show_bug.cgi?id=759401
src/bookmarks/ephy-bookmark-action.c | 62 ++++++++++++++++-----------------
1 files changed, 30 insertions(+), 32 deletions(-)
---
diff --git a/src/bookmarks/ephy-bookmark-action.c b/src/bookmarks/ephy-bookmark-action.c
index 163b0e9..4baca2b 100644
--- a/src/bookmarks/ephy-bookmark-action.c
+++ b/src/bookmarks/ephy-bookmark-action.c
@@ -53,9 +53,12 @@ enum
PROP_TOOLTIP,
PROP_LOCATION,
PROP_SMART_URL,
- PROP_ICON
+ PROP_ICON,
+ LAST_PROP
};
+static GParamSpec *obj_properties[LAST_PROP];
+
typedef struct
{
GObject *weak_ptr;
@@ -80,7 +83,7 @@ favicon_changed_cb (WebKitFaviconDatabase *database,
g_signal_handler_disconnect (database, action->priv->cache_handler);
action->priv->cache_handler = 0;
- g_object_notify (G_OBJECT (action), "icon");
+ g_object_notify_by_pspec (G_OBJECT (action), obj_properties[PROP_ICON]);
}
}
@@ -269,7 +272,7 @@ ephy_bookmark_action_updated (EphyBookmarkAction *action)
/* Set smart_url */
action->priv->smart_url = ephy_node_has_child (smart, node);
- g_object_notify (G_OBJECT (action), "smarturl");
+ g_object_notify_by_pspec (G_OBJECT (action), obj_properties[PROP_SMART_URL]);
/* Set title */
title = ephy_node_get_property_string (node, EPHY_NODE_BMK_PROP_TITLE);
@@ -279,8 +282,8 @@ ephy_bookmark_action_updated (EphyBookmarkAction *action)
g_value_unset (&value);
/* Notify all other properties */
- g_object_notify (G_OBJECT (action), "location");
- g_object_notify (G_OBJECT (action), "icon");
+ g_object_notify_by_pspec (G_OBJECT (action), obj_properties[PROP_LOCATION]);
+ g_object_notify_by_pspec (G_OBJECT (action), obj_properties[PROP_ICON]);
g_object_thaw_notify (G_OBJECT (action));
@@ -309,7 +312,7 @@ ephy_bookmark_action_set_bookmark (EphyBookmarkAction *action,
g_object_freeze_notify (object);
- g_object_notify (object, "bookmark");
+ g_object_notify_by_pspec (G_OBJECT (action), obj_properties[PROP_BOOKMARK]);
ephy_bookmark_action_updated (action);
g_object_thaw_notify (object);
@@ -410,34 +413,29 @@ ephy_bookmark_action_class_init (EphyBookmarkActionClass *class)
object_class->set_property = ephy_bookmark_action_set_property;
object_class->get_property = ephy_bookmark_action_get_property;
- g_object_class_install_property (object_class,
- PROP_BOOKMARK,
- g_param_spec_pointer ("bookmark", NULL, NULL,
- G_PARAM_READWRITE | G_PARAM_STATIC_NAME |
G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB |
- G_PARAM_CONSTRUCT_ONLY));
+ obj_properties[PROP_BOOKMARK] =
+ g_param_spec_pointer ("bookmark", NULL, NULL,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT_ONLY);
/* overwrite GtkActionClass::tooltip, so we can use the url as tooltip */
- g_object_class_install_property (object_class,
- PROP_TOOLTIP,
- g_param_spec_string ("tooltip", NULL, NULL,
- NULL,
- G_PARAM_READABLE | G_PARAM_STATIC_NAME |
G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
-
- g_object_class_install_property (object_class,
- PROP_LOCATION,
- g_param_spec_string ("location", NULL, NULL,
- NULL,
- G_PARAM_READABLE | G_PARAM_STATIC_NAME |
G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
- g_object_class_install_property (object_class,
- PROP_SMART_URL,
- g_param_spec_boolean ("smarturl", NULL, NULL,
- FALSE,
- G_PARAM_READABLE | G_PARAM_STATIC_NAME |
G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
- g_object_class_install_property (object_class,
- PROP_ICON,
- g_param_spec_string ("icon", NULL, NULL,
- NULL,
- G_PARAM_READABLE | G_PARAM_STATIC_NAME |
G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
+ obj_properties[PROP_TOOLTIP] =
+ g_param_spec_string ("tooltip", NULL, NULL,
+ NULL,
+ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+ obj_properties[PROP_LOCATION] =
+ g_param_spec_string ("location", NULL, NULL,
+ NULL,
+ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+ obj_properties[PROP_SMART_URL] =
+ g_param_spec_boolean ("smarturl", NULL, NULL,
+ FALSE,
+ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+ obj_properties[PROP_ICON] =
+ g_param_spec_string ("icon", NULL, NULL,
+ NULL,
+ 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(EphyBookmarkActionPrivate));
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]