Mercurial > pidgin
comparison libpurple/protocols/qq/group_im.c @ 24149:818ab62006f5
2008.10.07 - ccpaging <ccpaging(at)gmail.com>
* Update qq_buddy
author | SHiNE CsyFeK <csyfek@gmail.com> |
---|---|
date | Wed, 22 Oct 2008 14:59:55 +0000 |
parents | 1bdf7b602684 |
children | 237e5a94e11c |
comparison
equal
deleted
inserted
replaced
24148:1bdf7b602684 | 24149:818ab62006f5 |
---|---|
80 | 80 |
81 /* refresh online member in group conversation window */ | 81 /* refresh online member in group conversation window */ |
82 void qq_room_conv_set_onlines(PurpleConnection *gc, qq_group *group) | 82 void qq_room_conv_set_onlines(PurpleConnection *gc, qq_group *group) |
83 { | 83 { |
84 GList *names, *list, *flags; | 84 GList *names, *list, *flags; |
85 qq_buddy *member; | 85 qq_buddy_data *bd; |
86 gchar *member_name, *member_uid; | 86 gchar *member_name, *member_uid; |
87 PurpleConversation *conv; | 87 PurpleConversation *conv; |
88 gint flag; | 88 gint flag; |
89 gboolean is_find; | 89 gboolean is_find; |
90 g_return_if_fail(group != NULL); | 90 g_return_if_fail(group != NULL); |
100 names = NULL; | 100 names = NULL; |
101 flags = NULL; | 101 flags = NULL; |
102 | 102 |
103 list = group->members; | 103 list = group->members; |
104 while (list != NULL) { | 104 while (list != NULL) { |
105 member = (qq_buddy *) list->data; | 105 bd = (qq_buddy_data *) list->data; |
106 | 106 |
107 /* we need unique identifiers for everyone in the chat or else we'll | 107 /* we need unique identifiers for everyone in the chat or else we'll |
108 * run into problems with functions like get_cb_real_name from qq.c */ | 108 * run into problems with functions like get_cb_real_name from qq.c */ |
109 member_name = (member->nickname != NULL && *(member->nickname) != '\0') ? | 109 member_name = (bd->nickname != NULL && *(bd->nickname) != '\0') ? |
110 g_strdup_printf("%s (%u)", member->nickname, member->uid) : | 110 g_strdup_printf("%s (%u)", bd->nickname, bd->uid) : |
111 g_strdup_printf("(%u)", member->uid); | 111 g_strdup_printf("(%u)", bd->uid); |
112 member_uid = g_strdup_printf("(%u)", member->uid); | 112 member_uid = g_strdup_printf("(%u)", bd->uid); |
113 | 113 |
114 flag = 0; | 114 flag = 0; |
115 /* TYPING to put online above OP and FOUNDER */ | 115 /* TYPING to put online above OP and FOUNDER */ |
116 if (is_online(member->status)) flag |= (PURPLE_CBFLAGS_TYPING | PURPLE_CBFLAGS_VOICE); | 116 if (is_online(bd->status)) flag |= (PURPLE_CBFLAGS_TYPING | PURPLE_CBFLAGS_VOICE); |
117 if(1 == (member->role & 1)) flag |= PURPLE_CBFLAGS_OP; | 117 if(1 == (bd->role & 1)) flag |= PURPLE_CBFLAGS_OP; |
118 if(member->uid == group->creator_uid) flag |= PURPLE_CBFLAGS_FOUNDER; | 118 if(bd->uid == group->creator_uid) flag |= PURPLE_CBFLAGS_FOUNDER; |
119 | 119 |
120 is_find = TRUE; | 120 is_find = TRUE; |
121 if (purple_conv_chat_find_user(PURPLE_CONV_CHAT(conv), member_name)) | 121 if (purple_conv_chat_find_user(PURPLE_CONV_CHAT(conv), member_name)) |
122 { | 122 { |
123 purple_conv_chat_user_set_flags(PURPLE_CONV_CHAT(conv), | 123 purple_conv_chat_user_set_flags(PURPLE_CONV_CHAT(conv), |
252 void qq_room_got_chat_in(PurpleConnection *gc, | 252 void qq_room_got_chat_in(PurpleConnection *gc, |
253 qq_group *group, guint32 uid_from, const gchar *msg, time_t in_time) | 253 qq_group *group, guint32 uid_from, const gchar *msg, time_t in_time) |
254 { | 254 { |
255 PurpleAccount *account = purple_connection_get_account(gc); | 255 PurpleAccount *account = purple_connection_get_account(gc); |
256 PurpleConversation *conv; | 256 PurpleConversation *conv; |
257 qq_buddy *buddy; | 257 qq_buddy_data *bd; |
258 gchar *from; | 258 gchar *from; |
259 | 259 |
260 g_return_if_fail(group != NULL); | 260 g_return_if_fail(group != NULL); |
261 | 261 |
262 conv = purple_find_conversation_with_account( | 262 conv = purple_find_conversation_with_account( |
268 if (conv == NULL) { | 268 if (conv == NULL) { |
269 return; | 269 return; |
270 } | 270 } |
271 | 271 |
272 if (uid_from != 0) { | 272 if (uid_from != 0) { |
273 buddy = qq_group_find_member_by_uid(group, uid_from); | 273 bd = qq_group_find_member_by_uid(group, uid_from); |
274 if (buddy == NULL || buddy->nickname == NULL) | 274 if (bd == NULL || bd->nickname == NULL) |
275 from = g_strdup_printf("%d", uid_from); | 275 from = g_strdup_printf("%d", uid_from); |
276 else | 276 else |
277 from = g_strdup(buddy->nickname); | 277 from = g_strdup(bd->nickname); |
278 } else { | 278 } else { |
279 from = g_strdup(""); | 279 from = g_strdup(""); |
280 } | 280 } |
281 serv_got_chat_in(gc, | 281 serv_got_chat_in(gc, |
282 purple_conv_chat_get_id(PURPLE_CONV_CHAT(conv)), | 282 purple_conv_chat_get_id(PURPLE_CONV_CHAT(conv)), |