| 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 { |