comparison libpurple/protocols/qq/group_conv.c @ 23756:1a0caf9983fa

applied changes from 92d52eef2994d2697999177804e3665989cfa352 through 5688199e261449d33b5803dafff50d860896ebcb Reapplied 5688199e261449d33b5803dafff50d860896ebcb. 2008.09.04 - ccpaging <ccpaging(at)gmail.com> * minor code cleaned committer: Daniel Atallah <daniel.atallah@gmail.com>
author SHiNE CsyFeK <csyfek@gmail.com>
date Mon, 15 Sep 2008 03:02:06 +0000
parents 967344bc404d
children 69c218fd5d54 b67eb6f3f026
comparison
equal deleted inserted replaced
23755:23cec4360d4a 23756:1a0caf9983fa
23 */ 23 */
24 24
25 #include <glib.h> 25 #include <glib.h>
26 #include "qq.h" 26 #include "qq.h"
27 27
28 #include "conversation.h"
29
30 #include "group_conv.h" 28 #include "group_conv.h"
31 #include "buddy_list.h" 29 #include "buddy_list.h"
30 #include "header_info.h"
31 #include "qq_network.h"
32 #include "qq_process.h"
32 #include "utils.h" 33 #include "utils.h"
33 34
34 /* show group conversation window */ 35 /* show group conversation window */
35 void qq_group_conv_show_window(PurpleConnection *gc, qq_group *group) 36 PurpleConversation *qq_room_conv_create(PurpleConnection *gc, qq_group *group)
36 { 37 {
37 PurpleConversation *conv; 38 PurpleConversation *conv;
38 qq_data *qd; 39 qq_data *qd;
39 40
40 g_return_if_fail(group != NULL); 41 g_return_val_if_fail(group != NULL, NULL);
41 qd = (qq_data *) gc->proto_data; 42 qd = (qq_data *) gc->proto_data;
42 43
43 conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT, 44 conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT,
44 group->title_utf8, purple_connection_get_account(gc)); 45 group->title_utf8, purple_connection_get_account(gc));
45 if (conv == NULL) /* show only one window per group */ 46 if (conv != NULL) {
46 serv_got_joined_chat(gc, qd->channel++, group->title_utf8); 47 /* show only one window per group */
48 return conv;
49 }
50
51 serv_got_joined_chat(gc, qd->channel++, group->title_utf8);
52 conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT, group->title_utf8, purple_connection_get_account(gc));
53 if (conv != NULL) {
54 purple_conv_chat_set_topic(PURPLE_CONV_CHAT(conv), NULL, group->notice_utf8);
55 /* qq_update_room(gc, 0, group->id); */
56 qq_send_room_cmd_only(gc, QQ_ROOM_CMD_GET_ONLINES, group->id);
57 return conv;
58 }
59 return NULL;
47 } 60 }
48 61
49 /* refresh online member in group conversation window */ 62 /* refresh online member in group conversation window */
50 void qq_group_conv_refresh_online_member(PurpleConnection *gc, qq_group *group) 63 void qq_group_conv_refresh_online_member(PurpleConnection *gc, qq_group *group)
51 { 64 {