Fri, 11 Oct 2013 03:01:26 +0530
Cleaned up properties and added g_object_notify calls for PurpleAccount and PurpleBlistNodes
--- a/libpurple/account.c Fri Oct 11 02:09:53 2013 +0530 +++ b/libpurple/account.c Fri Oct 11 03:01:26 2013 +0530 @@ -742,6 +742,8 @@ g_free(priv->username); priv->username = g_strdup(username); + g_object_notify(G_OBJECT(account), "username"); + purple_accounts_schedule_save(); /* if the name changes, we should re-write the buddy list @@ -820,6 +822,8 @@ g_free(priv->user_info); priv->user_info = g_strdup(user_info); + g_object_notify(G_OBJECT(account), "user-info"); + purple_accounts_schedule_save(); } @@ -834,6 +838,8 @@ g_free(priv->buddy_icon_path); priv->buddy_icon_path = g_strdup(path); + g_object_notify(G_OBJECT(account), "buddy-icon-path"); + purple_accounts_schedule_save(); } @@ -874,6 +880,8 @@ priv = PURPLE_ACCOUNT_GET_PRIVATE(account); priv->remember_pass = value; + g_object_notify(G_OBJECT(account), "remember-password"); + purple_accounts_schedule_save(); } @@ -883,6 +891,8 @@ g_return_if_fail(PURPLE_IS_ACCOUNT(account)); purple_account_set_bool(account, "check-mail", value); + + g_object_notify(G_OBJECT(account), "check-mail"); } void @@ -2776,7 +2786,7 @@ if ((tmp = purple_account_get_user_info(account)) != NULL) { /* TODO: Do we need to call purple_str_strip_char(tmp, '\r') here? */ - child = purple_xmlnode_new_child(node, "userinfo"); + child = purple_xmlnode_new_child(node, "user-info"); purple_xmlnode_insert_data(child, tmp, -1); } @@ -2807,17 +2817,6 @@ * GObject Code * ****************/ -/* GObject Property names */ -#define PROP_USERNAME_S "username" -#define PROP_PRIVATE_ALIAS_S "private-alias" -#define PROP_ENABLED_S "enabled" -#define PROP_CONNECTION_S "connection" -#define PROP_PROTOCOL_ID_S "protocol-id" -#define PROP_USER_INFO_S "userinfo" -#define PROP_BUDDY_ICON_PATH_S "buddy-icon-path" -#define PROP_REMEMBER_PASSWORD_S "remember-password" -#define PROP_CHECK_MAIL_S "check-mail" - /* Set method for GObject properties */ static void purple_account_set_property(GObject *obj, guint param_id, const GValue *value, @@ -2937,8 +2936,8 @@ parent_class->constructed(object); g_object_get(object, - PROP_USERNAME_S, &username, - PROP_PROTOCOL_ID_S, &protocol_id, + "username", &username, + "protocol-id", &protocol_id, NULL); purple_signal_emit(purple_accounts_get_handle(), "account-created", @@ -3063,55 +3062,55 @@ obj_class->set_property = purple_account_set_property; g_object_class_install_property(obj_class, PROP_USERNAME, - g_param_spec_string(PROP_USERNAME_S, _("Username"), + g_param_spec_string("username", _("Username"), _("The username for the account."), NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT) ); g_object_class_install_property(obj_class, PROP_PRIVATE_ALIAS, - g_param_spec_string(PROP_PRIVATE_ALIAS_S, _("Private Alias"), + g_param_spec_string("private-alias", _("Private Alias"), _("The private alias for the account."), NULL, G_PARAM_READWRITE) ); g_object_class_install_property(obj_class, PROP_USER_INFO, - g_param_spec_string(PROP_USER_INFO_S, _("User information"), + g_param_spec_string("user-info", _("User information"), _("Detailed user information for the account."), NULL, G_PARAM_READWRITE) ); g_object_class_install_property(obj_class, PROP_BUDDY_ICON_PATH, - g_param_spec_string(PROP_BUDDY_ICON_PATH_S, _("Buddy icon path"), + g_param_spec_string("buddy-icon-path", _("Buddy icon path"), _("Path to the buddyicon for the account."), NULL, G_PARAM_READWRITE) ); g_object_class_install_property(obj_class, PROP_ENABLED, - g_param_spec_boolean(PROP_ENABLED_S, _("Enabled"), + g_param_spec_boolean("enabled", _("Enabled"), _("Whether the account is enabled or not."), FALSE, G_PARAM_READWRITE) ); g_object_class_install_property(obj_class, PROP_REMEMBER_PASSWORD, - g_param_spec_boolean(PROP_REMEMBER_PASSWORD_S, _("Remember password"), + g_param_spec_boolean("remember-password", _("Remember password"), _("Whether to remember and store the password for this account."), FALSE, G_PARAM_READWRITE) ); g_object_class_install_property(obj_class, PROP_CHECK_MAIL, - g_param_spec_boolean(PROP_CHECK_MAIL_S, _("Check mail"), + g_param_spec_boolean("check-mail", _("Check mail"), _("Whether to check mails for this account."), FALSE, G_PARAM_READWRITE) ); g_object_class_install_property(obj_class, PROP_CONNECTION, - g_param_spec_object(PROP_CONNECTION_S, _("Connection"), + g_param_spec_object("connection", _("Connection"), _("The connection for the account."), PURPLE_TYPE_CONNECTION, G_PARAM_READWRITE) ); g_object_class_install_property(obj_class, PROP_PROTOCOL_ID, - g_param_spec_string(PROP_PROTOCOL_ID_S, _("Protocol ID"), + g_param_spec_string("protocol-id", _("Protocol ID"), _("ID of the protocol that is responsible for the account."), NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY) ); @@ -3160,8 +3159,8 @@ return account; account = g_object_new(PURPLE_TYPE_ACCOUNT, - PROP_USERNAME_S, username, - PROP_PROTOCOL_ID_S, protocol_id, + "username", username, + "protocol-id", protocol_id, NULL); return account;
--- a/libpurple/blistnode.c Fri Oct 11 02:09:53 2013 +0530 +++ b/libpurple/blistnode.c Fri Oct 11 03:01:26 2013 +0530 @@ -45,7 +45,7 @@ enum { BLNODE_PROP_0, - BLNODE_PROP_DONT_SAVE, + BLNODE_PROP_TRANSIENT, BLNODE_PROP_LAST }; @@ -162,6 +162,8 @@ g_return_if_fail(priv != NULL); priv->transient = transient; + + g_object_notify(G_OBJECT(node), "transient"); } gboolean @@ -336,9 +338,6 @@ * GObject code for PurpleBlistNode **************************************************************************/ -/* GObject Property names */ -#define BLNODE_PROP_DONT_SAVE_S "dont-save" - /* Set method for GObject properties */ static void purple_blist_node_set_property(GObject *obj, guint param_id, const GValue *value, @@ -347,7 +346,7 @@ PurpleBlistNode *node = PURPLE_BLIST_NODE(obj); switch (param_id) { - case BLNODE_PROP_DONT_SAVE: + case BLNODE_PROP_TRANSIENT: purple_blist_node_set_transient(node, g_value_get_boolean(value)); break; default: @@ -364,7 +363,7 @@ PurpleBlistNode *node = PURPLE_BLIST_NODE(obj); switch (param_id) { - case BLNODE_PROP_DONT_SAVE: + case BLNODE_PROP_TRANSIENT: g_value_set_boolean(value, purple_blist_node_is_transient(node)); break; default: @@ -408,8 +407,8 @@ obj_class->get_property = purple_blist_node_get_property; obj_class->set_property = purple_blist_node_set_property; - g_object_class_install_property(obj_class, BLNODE_PROP_DONT_SAVE, - g_param_spec_boolean(BLNODE_PROP_DONT_SAVE_S, _("Do not save"), + g_object_class_install_property(obj_class, BLNODE_PROP_TRANSIENT, + g_param_spec_boolean("transient", _("Transient"), _("Whether node should not be saved with the buddy list."), FALSE, G_PARAM_READWRITE) ); @@ -484,7 +483,7 @@ g_return_if_fail(priv != NULL); - priv->totalsize += delta; + purple_counting_node_set_total_size(counter, priv->totalsize + delta); } void @@ -494,7 +493,7 @@ g_return_if_fail(priv != NULL); - priv->currentsize += delta; + purple_counting_node_set_current_size(counter, priv->currentsize + delta); } void @@ -504,7 +503,7 @@ g_return_if_fail(priv != NULL); - priv->onlinecount += delta; + purple_counting_node_set_online_count(counter, priv->onlinecount + delta); } void @@ -515,6 +514,8 @@ g_return_if_fail(priv != NULL); priv->totalsize = totalsize; + + g_object_notify(G_OBJECT(counter), "total-size"); } void @@ -525,6 +526,8 @@ g_return_if_fail(priv != NULL); priv->currentsize = currentsize; + + g_object_notify(G_OBJECT(counter), "current-size"); } void @@ -535,17 +538,14 @@ g_return_if_fail(priv != NULL); priv->onlinecount = onlinecount; + + g_object_notify(G_OBJECT(counter), "online-count"); } /************************************************************************** * GObject code for PurpleCountingNode **************************************************************************/ -/* GObject Property names */ -#define CNODE_PROP_TOTAL_SIZE_S "total-size" -#define CNODE_PROP_CURRENT_SIZE_S "current-size" -#define CNODE_PROP_ONLINE_COUNT_S "online-count" - /* Set method for GObject properties */ static void purple_counting_node_set_property(GObject *obj, guint param_id, const GValue *value, @@ -592,17 +592,6 @@ } } -/* GObject initialization function */ -static void -purple_counting_node_init(GTypeInstance *instance, gpointer klass) -{ - PurpleCountingNodePrivate *priv = PURPLE_COUNTING_NODE_GET_PRIVATE(instance); - - priv->totalsize = 0; - priv->currentsize = 0; - priv->onlinecount = 0; -} - /* Class initializer function */ static void purple_counting_node_class_init(PurpleCountingNodeClass *klass) @@ -614,19 +603,19 @@ obj_class->set_property = purple_counting_node_set_property; g_object_class_install_property(obj_class, CNODE_PROP_TOTAL_SIZE, - g_param_spec_int(CNODE_PROP_TOTAL_SIZE_S, _("Total size"), + g_param_spec_int("total-size", _("Total size"), _("The number of children under this node."), G_MININT, G_MAXINT, 0, G_PARAM_READWRITE) ); g_object_class_install_property(obj_class, CNODE_PROP_CURRENT_SIZE, - g_param_spec_int(CNODE_PROP_CURRENT_SIZE_S, _("Current size"), + g_param_spec_int("current-size", _("Current size"), _("The number of children with online accounts."), G_MININT, G_MAXINT, 0, G_PARAM_READWRITE) ); g_object_class_install_property(obj_class, CNODE_PROP_ONLINE_COUNT, - g_param_spec_int(CNODE_PROP_ONLINE_COUNT_S, _("Online count"), + g_param_spec_int("online-count", _("Online count"), _("The number of children that are online."), G_MININT, G_MAXINT, 0, G_PARAM_READWRITE) ); @@ -649,7 +638,7 @@ NULL, sizeof(PurpleCountingNode), 0, - (GInstanceInitFunc)purple_counting_node_init, + NULL, NULL, };
--- a/libpurple/blistnodetypes.c Fri Oct 11 02:09:53 2013 +0530 +++ b/libpurple/blistnodetypes.c Fri Oct 11 03:01:26 2013 +0530 @@ -201,6 +201,8 @@ if (ops->update) ops->update(purple_blist_get_buddy_list(), PURPLE_BLIST_NODE(buddy)); } + + g_object_notify(G_OBJECT(buddy), "name"); } const char * @@ -502,6 +504,8 @@ g_return_if_fail(priv != NULL); priv->media_caps = media_caps; + + g_object_notify(G_OBJECT(buddy), "media-caps"); } PurpleGroup *purple_buddy_get_group(PurpleBuddy *buddy) @@ -518,15 +522,6 @@ * GObject code for PurpleBuddy **************************************************************************/ -/* GObject Property names */ -#define BUDDY_PROP_NAME_S "name" -#define BUDDY_PROP_LOCAL_ALIAS_S "local-alias" -#define BUDDY_PROP_SERVER_ALIAS_S "server-alias" -#define BUDDY_PROP_ICON_S "icon" -#define BUDDY_PROP_ACCOUNT_S "account" -#define BUDDY_PROP_PRESENCE_S "presence" -#define BUDDY_PROP_MEDIA_CAPS_S "media-caps" - /* Set method for GObject properties */ static void purple_buddy_set_property(GObject *obj, guint param_id, const GValue *value, @@ -537,9 +532,11 @@ switch (param_id) { case BUDDY_PROP_NAME: + g_free(priv->name); priv->name = purple_utf8_strip_unprintables(g_value_get_string(value)); break; case BUDDY_PROP_LOCAL_ALIAS: + g_free(priv->local_alias); priv->local_alias = purple_utf8_strip_unprintables(g_value_get_string(value)); break; case BUDDY_PROP_SERVER_ALIAS: @@ -683,43 +680,43 @@ obj_class->constructed = purple_buddy_constructed; g_object_class_install_property(obj_class, BUDDY_PROP_NAME, - g_param_spec_string(BUDDY_PROP_NAME_S, _("Name"), + g_param_spec_string("name", _("Name"), _("The name of the buddy."), NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT) ); g_object_class_install_property(obj_class, BUDDY_PROP_LOCAL_ALIAS, - g_param_spec_string(BUDDY_PROP_LOCAL_ALIAS_S, _("Local alias"), + g_param_spec_string("local-alias", _("Local alias"), _("Local alias of thee buddy."), NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT) ); g_object_class_install_property(obj_class, BUDDY_PROP_SERVER_ALIAS, - g_param_spec_string(BUDDY_PROP_SERVER_ALIAS_S, _("Server alias"), + g_param_spec_string("server-alias", _("Server alias"), _("Server-side alias of the buddy."), NULL, G_PARAM_READWRITE) ); g_object_class_install_property(obj_class, BUDDY_PROP_ICON, - g_param_spec_pointer(BUDDY_PROP_ICON_S, _("Buddy icon"), + g_param_spec_pointer("icon", _("Buddy icon"), _("The icon for the buddy."), G_PARAM_READWRITE) ); g_object_class_install_property(obj_class, BUDDY_PROP_ACCOUNT, - g_param_spec_object(BUDDY_PROP_ACCOUNT_S, _("Account"), + g_param_spec_object("account", _("Account"), _("The account for the buddy."), PURPLE_TYPE_ACCOUNT, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY) ); g_object_class_install_property(obj_class, BUDDY_PROP_PRESENCE, - g_param_spec_object(BUDDY_PROP_PRESENCE_S, _("Presence"), + g_param_spec_object("presence", _("Presence"), _("The status information for the buddy."), PURPLE_TYPE_PRESENCE, G_PARAM_READABLE) ); g_object_class_install_property(obj_class, BUDDY_PROP_MEDIA_CAPS, - g_param_spec_enum(BUDDY_PROP_MEDIA_CAPS_S, _("Media capabilities"), + g_param_spec_enum("media-caps", _("Media capabilities"), _("The media capabilities of the buddy."), PURPLE_MEDIA_TYPE_CAPS, PURPLE_MEDIA_CAPS_NONE, G_PARAM_READWRITE) @@ -762,9 +759,9 @@ g_return_val_if_fail(name != NULL, NULL); return g_object_new(PURPLE_TYPE_BUDDY, - BUDDY_PROP_ACCOUNT_S, account, - BUDDY_PROP_NAME_S, name, - BUDDY_PROP_LOCAL_ALIAS_S, alias, + "account", account, + "name", name, + "local-alias", alias, NULL); } @@ -968,10 +965,6 @@ * GObject code for PurpleContact **************************************************************************/ -/* GObject Property names */ -#define CONTACT_PROP_ALIAS_S "alias" -#define CONTACT_PROP_PRIORITY_BUDDY_S "priority-buddy" - /* Set method for GObject properties */ static void purple_contact_set_property(GObject *obj, guint param_id, const GValue *value, @@ -1048,13 +1041,13 @@ obj_class->set_property = purple_contact_set_property; g_object_class_install_property(obj_class, CONTACT_PROP_ALIAS, - g_param_spec_string(CONTACT_PROP_ALIAS_S, _("Alias"), + g_param_spec_string("alias", _("Alias"), _("The alias for the contact."), NULL, G_PARAM_READWRITE) ); g_object_class_install_property(obj_class, CONTACT_PROP_PRIORITY_BUDDY, - g_param_spec_object(CONTACT_PROP_PRIORITY_BUDDY_S, + g_param_spec_object("priority-buddy", _("Priority buddy"), _("The priority buddy of the contact."), PURPLE_TYPE_BUDDY, G_PARAM_READABLE) ); @@ -1206,11 +1199,6 @@ * GObject code for PurpleChat **************************************************************************/ -/* GObject Property names */ -#define CHAT_PROP_ALIAS_S "alias" -#define CHAT_PROP_ACCOUNT_S "account" -#define CHAT_PROP_COMPONENTS_S "components" - /* Set method for GObject properties */ static void purple_chat_set_property(GObject *obj, guint param_id, const GValue *value, @@ -1221,6 +1209,7 @@ switch (param_id) { case CHAT_PROP_ALIAS: + g_free(priv->alias); priv->alias = purple_utf8_strip_unprintables(g_value_get_string(value)); break; case CHAT_PROP_ACCOUNT: @@ -1308,19 +1297,19 @@ obj_class->constructed = purple_chat_constructed; g_object_class_install_property(obj_class, CHAT_PROP_ALIAS, - g_param_spec_string(CHAT_PROP_ALIAS_S, _("Alias"), + g_param_spec_string("alias", _("Alias"), _("The alias for the chat."), NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT) ); g_object_class_install_property(obj_class, CHAT_PROP_ACCOUNT, - g_param_spec_object(CHAT_PROP_ACCOUNT_S, _("Account"), + g_param_spec_object("account", _("Account"), _("The account that the chat belongs to."), PURPLE_TYPE_ACCOUNT, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY) ); g_object_class_install_property(obj_class, CHAT_PROP_COMPONENTS, - g_param_spec_pointer(CHAT_PROP_COMPONENTS_S, _("Components"), + g_param_spec_pointer("components", _("Components"), _("The protocol components of the chat."), G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY) ); @@ -1362,9 +1351,9 @@ g_return_val_if_fail(components != NULL, NULL); return g_object_new(PURPLE_TYPE_CHAT, - CHAT_PROP_ACCOUNT_S, account, - CHAT_PROP_ALIAS_S, alias, - CHAT_PROP_COMPONENTS_S, components, + "account", account, + "alias", alias, + "components", components, NULL); } @@ -1552,6 +1541,8 @@ } g_list_free(moved_buddies); g_free(old_name); + + g_object_notify(G_OBJECT(source), "name"); } const char *purple_group_get_name(PurpleGroup *group) @@ -1567,9 +1558,6 @@ * GObject code for PurpleGroup **************************************************************************/ -/* GObject Property names */ -#define GROUP_PROP_NAME_S "name" - /* Set method for GObject properties */ static void purple_group_set_property(GObject *obj, guint param_id, const GValue *value, @@ -1579,6 +1567,7 @@ switch (param_id) { case GROUP_PROP_NAME: + g_free(priv->name); priv->name = purple_utf8_strip_unprintables(g_value_get_string(value)); break; default: @@ -1650,7 +1639,7 @@ obj_class->set_property = purple_group_set_property; g_object_class_install_property(obj_class, GROUP_PROP_NAME, - g_param_spec_string(GROUP_PROP_NAME_S, _("Name"), + g_param_spec_string("name", _("Name"), _("Name of the group."), NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT) ); @@ -1697,5 +1686,5 @@ if (group != NULL) return group; - return g_object_new(PURPLE_TYPE_GROUP, GROUP_PROP_NAME_S, name, NULL); + return g_object_new(PURPLE_TYPE_GROUP, "name", name, NULL); }