pidgin/pidgin

Add "buddy-remove-from-group" blist signal from instantbird
release-2.x.y
2016-05-15, Florian Quèze
5e5e84e8a798
Add "buddy-remove-from-group" blist signal from instantbird

It is fired when a buddy is removed permanently from a group but
not from the buddy list. (ie when the buddy has been moved)
--- a/ChangeLog.API Sun May 15 05:28:07 2016 -0300
+++ b/ChangeLog.API Sun May 15 05:41:39 2016 -0300
@@ -4,6 +4,7 @@
libpurple:
Added:
* account-status-changing signal (account signals)
+ * buddy-removed-from-group signal (blist signals)
version 2.10.12:
* No changes
--- a/libpurple/blist.c Sun May 15 05:28:07 2016 -0300
+++ b/libpurple/blist.c Sun May 15 05:41:39 2016 -0300
@@ -1624,8 +1624,10 @@
((PurpleContact*)bnode->parent)->totalsize--;
/* the group totalsize will be taken care of by remove_contact below */
- if (bnode->parent->parent != (PurpleBlistNode*)g)
+ if (bnode->parent->parent != (PurpleBlistNode*)g) {
+ purple_signal_emit(purple_blist_get_handle(), "buddy-removed-from-group", buddy);
serv_move_buddy(buddy, (PurpleGroup *)bnode->parent->parent, g);
+ }
if (bnode->next)
bnode->next->prev = bnode->prev;
@@ -3193,6 +3195,11 @@
purple_value_new(PURPLE_TYPE_SUBTYPE,
PURPLE_SUBTYPE_BLIST_BUDDY));
+ purple_signal_register(handle, "buddy-removed-from-group",
+ purple_marshal_VOID__POINTER, NULL, 1,
+ purple_value_new(PURPLE_TYPE_SUBTYPE,
+ PURPLE_SUBTYPE_BLIST_BUDDY));
+
purple_signal_register(handle, "buddy-icon-changed",
purple_marshal_VOID__POINTER, NULL, 1,
purple_value_new(PURPLE_TYPE_SUBTYPE,