libpurple/blistnodetypes.c

branch
soc.2013.gobjectification
changeset 35066
f997e5384f79
parent 35058
506740af931c
child 35080
58bddd91956c
child 36955
de491fc3f726
--- a/libpurple/blistnodetypes.c	Sun Nov 17 15:56:35 2013 +0530
+++ b/libpurple/blistnodetypes.c	Sun Nov 17 18:11:04 2013 +0530
@@ -154,6 +154,8 @@
 	{
 		purple_buddy_icon_unref(priv->icon);
 		priv->icon = (icon != NULL ? purple_buddy_icon_ref(icon) : NULL);
+
+		g_object_notify(G_OBJECT(buddy), "icon");
 	}
 
 	purple_signal_emit(purple_blist_get_handle(), "buddy-icon-changed", buddy);
@@ -195,14 +197,14 @@
 	g_free(priv->name);
 	priv->name = purple_utf8_strip_unprintables(name);
 
+	g_object_notify(G_OBJECT(buddy), "name");
+
 	if (ops) {
 		if (ops->save_node)
 			ops->save_node(PURPLE_BLIST_NODE(buddy));
 		if (ops->update)
 			ops->update(purple_blist_get_buddy_list(), PURPLE_BLIST_NODE(buddy));
 	}
-
-	g_object_notify(G_OBJECT(buddy), "name");
 }
 
 const char *
@@ -324,6 +326,8 @@
 		g_free(new_alias); /* could be "\0" */
 	}
 
+	g_object_notify(G_OBJECT(buddy), "local-alias");
+
 	if (ops && ops->save_node)
 		ops->save_node(PURPLE_BLIST_NODE(buddy));
 
@@ -377,6 +381,8 @@
 		g_free(new_alias); /* could be "\0"; */
 	}
 
+	g_object_notify(G_OBJECT(buddy), "server-alias");
+
 	if (ops) {
 		if (ops->save_node)
 			ops->save_node(PURPLE_BLIST_NODE(buddy));
@@ -682,44 +688,45 @@
 	g_object_class_install_property(obj_class, BUDDY_PROP_NAME,
 			g_param_spec_string("name", "Name",
 				"The name of the buddy.", NULL,
-				G_PARAM_READWRITE | G_PARAM_CONSTRUCT)
+				G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS)
 			);
 
 	g_object_class_install_property(obj_class, BUDDY_PROP_LOCAL_ALIAS,
 			g_param_spec_string("local-alias", "Local alias",
 				"Local alias of thee buddy.", NULL,
-				G_PARAM_READWRITE | G_PARAM_CONSTRUCT)
+				G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS)
 			);
 
 	g_object_class_install_property(obj_class, BUDDY_PROP_SERVER_ALIAS,
 			g_param_spec_string("server-alias", "Server alias",
 				"Server-side alias of the buddy.", NULL,
-				G_PARAM_READWRITE)
+				G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)
 			);
 
 	g_object_class_install_property(obj_class, BUDDY_PROP_ICON,
 			g_param_spec_pointer("icon", "Buddy icon",
 				"The icon for the buddy.",
-				G_PARAM_READWRITE)
+				G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)
 			);
 
 	g_object_class_install_property(obj_class, BUDDY_PROP_ACCOUNT,
 			g_param_spec_object("account", "Account",
 				"The account for the buddy.", PURPLE_TYPE_ACCOUNT,
-				G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)
+				G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+				G_PARAM_STATIC_STRINGS)
 			);
 
 	g_object_class_install_property(obj_class, BUDDY_PROP_PRESENCE,
 			g_param_spec_object("presence", "Presence",
 				"The status information for the buddy.", PURPLE_TYPE_PRESENCE,
-				G_PARAM_READABLE)
+				G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)
 			);
 
 	g_object_class_install_property(obj_class, BUDDY_PROP_MEDIA_CAPS,
 			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)
+				G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)
 			);
 
 	g_type_class_add_private(klass, sizeof(PurpleBuddyPrivate));
@@ -813,6 +820,8 @@
 
 	priv->priority_buddy = new_priority;
 	priv->priority_valid = TRUE;
+
+	g_object_notify(G_OBJECT(contact), "priority-buddy");
 }
 
 PurpleGroup *
@@ -852,6 +861,8 @@
 		g_free(new_alias); /* could be "\0" */
 	}
 
+	g_object_notify(G_OBJECT(contact), "alias");
+
 	if (ops) {
 		if (ops->save_node)
 			ops->save_node(PURPLE_BLIST_NODE(contact));
@@ -1043,13 +1054,13 @@
 	g_object_class_install_property(obj_class, CONTACT_PROP_ALIAS,
 			g_param_spec_string("alias", "Alias",
 				"The alias for the contact.", NULL,
-				G_PARAM_READWRITE)
+				G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)
 			);
 
 	g_object_class_install_property(obj_class, CONTACT_PROP_PRIORITY_BUDDY,
 			g_param_spec_object("priority-buddy",
 				"Priority buddy", "The priority buddy of the contact.",
-				PURPLE_TYPE_BUDDY, G_PARAM_READABLE)
+				PURPLE_TYPE_BUDDY, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)
 			);
 
 	g_type_class_add_private(klass, sizeof(PurpleContactPrivate));
@@ -1155,6 +1166,8 @@
 		g_free(new_alias); /* could be "\0" */
 	}
 
+	g_object_notify(G_OBJECT(chat), "alias");
+
 	if (ops) {
 		if (ops->save_node)
 			ops->save_node(PURPLE_BLIST_NODE(chat));
@@ -1299,19 +1312,21 @@
 	g_object_class_install_property(obj_class, CHAT_PROP_ALIAS,
 			g_param_spec_string("alias", "Alias",
 				"The alias for the chat.", NULL,
-				G_PARAM_READWRITE | G_PARAM_CONSTRUCT)
+				G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS)
 			);
 
 	g_object_class_install_property(obj_class, CHAT_PROP_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_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+				G_PARAM_STATIC_STRINGS)
 			);
 
 	g_object_class_install_property(obj_class, CHAT_PROP_COMPONENTS,
 			g_param_spec_pointer("components", "Components",
 				"The protocol components of the chat.",
-				G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)
+				G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+				G_PARAM_STATIC_STRINGS)
 			);
 
 	g_type_class_add_private(klass, sizeof(PurpleChatPrivate));
@@ -1482,6 +1497,8 @@
 
 		old_name = priv->name;
 		priv->name = new_name;
+
+		g_object_notify(G_OBJECT(source), "name");
 	}
 
 	/* Save our changes */
@@ -1641,7 +1658,7 @@
 	g_object_class_install_property(obj_class, GROUP_PROP_NAME,
 			g_param_spec_string("name", "Name",
 				"Name of the group.", NULL,
-				G_PARAM_READWRITE | G_PARAM_CONSTRUCT)
+				G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS)
 			);
 
 	g_type_class_add_private(klass, sizeof(PurpleGroupPrivate));

mercurial