Mercurial > pidgin.yaz
comparison libpurple/protocols/jabber/message.c @ 25190:302f13678ea3
propagate from branch 'im.pidgin.pidgin' (head f94ddf7fa975e3a39a53fccae31b7e73f892fd57)
to branch 'im.pidgin.cpw.malu.xmpp.attention' (head a0f89b9cc3f1120c218f9b703ac18a8b8eec3557)
author | Marcus Lundblad <ml@update.uu.se> |
---|---|
date | Sun, 28 Dec 2008 09:51:19 +0000 |
parents | 9b1aea1c8df2 689cfb82242e |
children | a50545e37a7a |
comparison
equal
deleted
inserted
replaced
25189:d15b50a4db53 | 25190:302f13678ea3 |
---|---|
289 static void handle_buzz(JabberMessage *jm) { | 289 static void handle_buzz(JabberMessage *jm) { |
290 PurpleBuddy *buddy; | 290 PurpleBuddy *buddy; |
291 PurpleAccount *account; | 291 PurpleAccount *account; |
292 PurpleConversation *c; | 292 PurpleConversation *c; |
293 char *username, *str; | 293 char *username, *str; |
294 | 294 |
295 /* Delayed buzz MUST NOT be accepted */ | 295 /* Delayed buzz MUST NOT be accepted */ |
296 if(jm->delayed) | 296 if(jm->delayed) |
297 return; | 297 return; |
298 | 298 |
299 /* Reject buzz when it's not enabled */ | 299 /* Reject buzz when it's not enabled */ |
300 if(!jm->js->allowBuzz) | 300 if(!jm->js->allowBuzz) |
301 return; | 301 return; |
302 | 302 |
303 account = purple_connection_get_account(jm->js->gc); | 303 account = purple_connection_get_account(jm->js->gc); |
304 | 304 |
305 if ((buddy = purple_find_buddy(account, jm->from)) != NULL) | 305 if ((buddy = purple_find_buddy(account, jm->from)) == NULL) |
306 username = g_markup_escape_text(purple_buddy_get_alias(buddy), -1); | |
307 else | |
308 return; /* Do not accept buzzes from unknown people */ | 306 return; /* Do not accept buzzes from unknown people */ |
309 | 307 |
310 c = purple_conversation_new(PURPLE_CONV_TYPE_IM, account, jm->from); | 308 c = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, jm->from, account); |
311 | 309 if (c == NULL) |
312 str = g_strdup_printf(_("%s has buzzed you!"), username); | 310 c = purple_conversation_new(PURPLE_CONV_TYPE_IM, account, jm->from); |
313 | 311 |
314 purple_conversation_write(c, NULL, str, PURPLE_MESSAGE_SYSTEM|PURPLE_MESSAGE_NOTIFY, time(NULL)); | 312 username = g_markup_escape_text(purple_buddy_get_alias(buddy), -1); |
313 /* xmpp only has 1 attention type, so index is 0 */ | |
314 purple_prpl_got_attention(jm->js->gc, username, 0); | |
315 | |
315 g_free(username); | 316 g_free(username); |
316 g_free(str); | 317 g_free(str); |
317 } | 318 } |
318 | 319 |
319 /* used internally by the functions below */ | 320 /* used internally by the functions below */ |