eion/purple-hangouts

Allow removing yourself off the buddy list
draft
2018-09-19, Eion Robb
924cec15530b
Parents 196e9ce57e00
Children 6f82b267a7e8
Allow removing yourself off the buddy list
--- a/hangouts_conversation.c Tue Jul 31 21:27:07 2018 +1200
+++ b/hangouts_conversation.c Wed Sep 19 08:13:45 2018 +1200
@@ -739,6 +739,11 @@
hangouts_add_person_to_blist(HangoutsAccount *ha, gchar *gaia_id, gchar *alias)
{
PurpleGroup *hangouts_group = purple_blist_find_group("Hangouts");
+
+ if (purple_account_get_bool(ha->account, "hide_self", FALSE) && purple_strequal(gaia_id, ha->self_gaia_id)) {
+ return;
+ }
+
if (!hangouts_group)
{
hangouts_group = purple_group_new("Hangouts");
--- a/libhangouts.c Tue Jul 31 21:27:07 2018 +1200
+++ b/libhangouts.c Wed Sep 19 08:13:45 2018 +1200
@@ -134,9 +134,14 @@
hangouts_chat_leave_by_conv_id(pc, conv_id, NULL);
} else {
HangoutsAccount *ha = purple_connection_get_protocol_data(pc);
- conv_id = g_hash_table_lookup(ha->one_to_ones_rev, purple_buddy_get_name(buddy));
+ const gchar *gaia_id = purple_buddy_get_name(buddy);
+ conv_id = g_hash_table_lookup(ha->one_to_ones_rev, gaia_id);
hangouts_archive_conversation(ha, conv_id);
+
+ if (purple_strequal(gaia_id, ha->self_gaia_id)) {
+ purple_account_set_bool(account, "hide_self", TRUE);
+ }
}
}