Wed, 22 Oct 2008 14:48:46 +0000
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
* Add my uid into buddy list
* Fixed a minor bug in qq_create_buddy. Not get new buddy's info.
* There are 38 fields in protocol 2008, one more than 2005/2007.
* The packet of Modifing buddy info is changed. Need sample to fix it.
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
1 | /** |
|
15087
78879d4adf13
[gaim-migrate @ 17807]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
14691
diff
changeset
|
2 | * @file group_conv.c |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
3 | * |
| 15884 | 4 | * purple |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
5 | * |
| 15884 | 6 | * Purple is the legal property of its developers, whose names are too numerous |
|
15087
78879d4adf13
[gaim-migrate @ 17807]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
14691
diff
changeset
|
7 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
78879d4adf13
[gaim-migrate @ 17807]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
14691
diff
changeset
|
8 | * source distribution. |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
9 | * |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
10 | * This program is free software; you can redistribute it and/or modify |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
11 | * it under the terms of the GNU General Public License as published by |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
12 | * the Free Software Foundation; either version 2 of the License, or |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
13 | * (at your option) any later version. |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
14 | * |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
15 | * This program is distributed in the hope that it will be useful, |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
18 | * GNU General Public License for more details. |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
19 | * |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
20 | * You should have received a copy of the GNU General Public License |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
21 | * along with this program; if not, write to the Free Software |
|
19859
71d37b57eff2
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
18273
diff
changeset
|
22 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
23 | */ |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
24 | |
|
14083
2b68bb18a66c
[gaim-migrate @ 16618]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
13932
diff
changeset
|
25 | #include <glib.h> |
|
18273
e61c53184c52
#include reorganizations to allow compiling with glib < 2.8 using the
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
16271
diff
changeset
|
26 | #include "qq.h" |
|
e61c53184c52
#include reorganizations to allow compiling with glib < 2.8 using the
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
16271
diff
changeset
|
27 | |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
28 | #include "group_conv.h" |
|
23950
a974649cdb89
2008.08.02 - csyfek <csyfek(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
23212
diff
changeset
|
29 | #include "buddy_list.h" |
|
24340
36ceebf026a0
patch 20080922 from ccpaging <ccpaging(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24314
diff
changeset
|
30 | #include "qq_define.h" |
|
24314
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24313
diff
changeset
|
31 | #include "qq_network.h" |
|
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24313
diff
changeset
|
32 | #include "qq_process.h" |
|
14083
2b68bb18a66c
[gaim-migrate @ 16618]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
13932
diff
changeset
|
33 | #include "utils.h" |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
34 | |
|
14083
2b68bb18a66c
[gaim-migrate @ 16618]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
13932
diff
changeset
|
35 | /* show group conversation window */ |
|
24314
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24313
diff
changeset
|
36 | PurpleConversation *qq_room_conv_create(PurpleConnection *gc, qq_group *group) |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
37 | { |
| 15884 | 38 | PurpleConversation *conv; |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
39 | qq_data *qd; |
|
24341
02abffea97fe
2008.09.26 - ccpaging <ccpaging(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24340
diff
changeset
|
40 | gchar *topic_utf8; |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
41 | |
|
24314
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24313
diff
changeset
|
42 | g_return_val_if_fail(group != NULL, NULL); |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
43 | qd = (qq_data *) gc->proto_data; |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
44 | |
|
24314
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24313
diff
changeset
|
45 | conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT, |
|
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24313
diff
changeset
|
46 | group->title_utf8, purple_connection_get_account(gc)); |
|
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24313
diff
changeset
|
47 | if (conv != NULL) { |
|
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24313
diff
changeset
|
48 | /* show only one conversation per group */ |
|
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24313
diff
changeset
|
49 | return conv; |
|
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24313
diff
changeset
|
50 | } |
|
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24313
diff
changeset
|
51 | |
|
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24313
diff
changeset
|
52 | serv_got_joined_chat(gc, qd->channel++, group->title_utf8); |
|
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24313
diff
changeset
|
53 | conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT, group->title_utf8, purple_connection_get_account(gc)); |
|
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24313
diff
changeset
|
54 | if (conv != NULL) { |
|
24341
02abffea97fe
2008.09.26 - ccpaging <ccpaging(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24340
diff
changeset
|
55 | topic_utf8 = g_strdup_printf("%d %s", group->ext_id, group->notice_utf8); |
|
02abffea97fe
2008.09.26 - ccpaging <ccpaging(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24340
diff
changeset
|
56 | purple_debug_info("QQ", "Set chat topic to %s\n", topic_utf8); |
|
02abffea97fe
2008.09.26 - ccpaging <ccpaging(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24340
diff
changeset
|
57 | purple_conv_chat_set_topic(PURPLE_CONV_CHAT(conv), NULL, topic_utf8); |
|
02abffea97fe
2008.09.26 - ccpaging <ccpaging(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24340
diff
changeset
|
58 | g_free(topic_utf8); |
|
02abffea97fe
2008.09.26 - ccpaging <ccpaging(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24340
diff
changeset
|
59 | |
|
24314
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24313
diff
changeset
|
60 | if (group->is_got_info) |
|
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24313
diff
changeset
|
61 | qq_send_room_cmd_only(gc, QQ_ROOM_CMD_GET_ONLINES, group->id); |
|
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24313
diff
changeset
|
62 | else |
|
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24313
diff
changeset
|
63 | qq_update_room(gc, 0, group->id); |
|
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24313
diff
changeset
|
64 | return conv; |
|
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24313
diff
changeset
|
65 | } |
|
587e97c2b707
merge of 'd01a6b8ccfad536e692fa159a02583625596c4f5'
Daniel Atallah <datallah@pidgin.im>
parents:
24313
diff
changeset
|
66 | return NULL; |
|
14083
2b68bb18a66c
[gaim-migrate @ 16618]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
13932
diff
changeset
|
67 | } |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
68 | |
|
14083
2b68bb18a66c
[gaim-migrate @ 16618]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
13932
diff
changeset
|
69 | /* refresh online member in group conversation window */ |
| 15884 | 70 | void qq_group_conv_refresh_online_member(PurpleConnection *gc, qq_group *group) |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
71 | { |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
72 | GList *names, *list, *flags; |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
73 | qq_buddy *member; |
|
16271
9605b8b1c673
Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents:
15884
diff
changeset
|
74 | gchar *member_name, *member_uid; |
| 15884 | 75 | PurpleConversation *conv; |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
76 | gint flag; |
|
24350
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
77 | gboolean is_find; |
|
14691
efb5fd0a34b7
[gaim-migrate @ 17375]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
14466
diff
changeset
|
78 | g_return_if_fail(group != NULL); |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
79 | |
|
24350
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
80 | conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT, |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
81 | group->title_utf8, purple_connection_get_account(gc)); |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
82 | |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
83 | g_return_if_fail (conv != NULL && group->members != NULL); |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
84 | |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
85 | names = NULL; |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
86 | flags = NULL; |
|
24350
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
87 | |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
88 | list = group->members; |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
89 | while (list != NULL) { |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
90 | member = (qq_buddy *) list->data; |
|
16271
9605b8b1c673
Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents:
15884
diff
changeset
|
91 | |
|
24350
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
92 | /* we need unique identifiers for everyone in the chat or else we'll |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
93 | * run into problems with functions like get_cb_real_name from qq.c */ |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
94 | member_name = (member->nickname != NULL && *(member->nickname) != '\0') ? |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
95 | g_strdup_printf("%s (%u)", member->nickname, member->uid) : |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
96 | g_strdup_printf("(%u)", member->uid); |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
97 | member_uid = g_strdup_printf("(%u)", member->uid); |
|
16271
9605b8b1c673
Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents:
15884
diff
changeset
|
98 | |
|
24350
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
99 | flag = 0; |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
100 | /* TYPING to put online above OP and FOUNDER */ |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
101 | if (is_online(member->status)) flag |= (PURPLE_CBFLAGS_TYPING | PURPLE_CBFLAGS_VOICE); |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
102 | if(1 == (member->role & 1)) flag |= PURPLE_CBFLAGS_OP; |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
103 | if(member->uid == group->creator_uid) flag |= PURPLE_CBFLAGS_FOUNDER; |
|
16271
9605b8b1c673
Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents:
15884
diff
changeset
|
104 | |
|
24350
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
105 | is_find = TRUE; |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
106 | if (purple_conv_chat_find_user(PURPLE_CONV_CHAT(conv), member_name)) |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
107 | { |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
108 | purple_conv_chat_user_set_flags(PURPLE_CONV_CHAT(conv), |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
109 | member_name, |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
110 | flag); |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
111 | } else if (purple_conv_chat_find_user(PURPLE_CONV_CHAT(conv), member_uid)) |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
112 | { |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
113 | purple_conv_chat_user_set_flags(PURPLE_CONV_CHAT(conv), |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
114 | member_uid, |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
115 | flag); |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
116 | purple_conv_chat_rename_user(PURPLE_CONV_CHAT(conv), member_uid, member_name); |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
117 | } else { |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
118 | is_find = FALSE; |
|
14083
2b68bb18a66c
[gaim-migrate @ 16618]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
13932
diff
changeset
|
119 | } |
|
24350
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
120 | if (!is_find) { |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
121 | /* always put it even offline */ |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
122 | names = g_list_append(names, member_name); |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
123 | flags = g_list_append(flags, GINT_TO_POINTER(flag)); |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
124 | } else { |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
125 | g_free(member_name); |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
126 | } |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
127 | g_free(member_uid); |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
128 | list = list->next; |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
129 | } |
|
16271
9605b8b1c673
Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents:
15884
diff
changeset
|
130 | |
|
24350
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
131 | if (names != NULL && flags != NULL) { |
|
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
132 | purple_conv_chat_add_users(PURPLE_CONV_CHAT(conv), names, NULL, flags, FALSE); |
|
14083
2b68bb18a66c
[gaim-migrate @ 16618]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
13932
diff
changeset
|
133 | } |
|
24350
a092f0a371d8
2008.10.05 - ccpaging <ccpagint(at)gmail.com>
SHiNE CsyFeK <csyfek@gmail.com>
parents:
24341
diff
changeset
|
134 | |
|
14083
2b68bb18a66c
[gaim-migrate @ 16618]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
13932
diff
changeset
|
135 | /* clean up names */ |
|
13932
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
136 | while (names != NULL) { |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
137 | member_name = (gchar *) names->data; |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
138 | names = g_list_remove(names, member_name); |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
139 | g_free(member_name); |
|
4d131bd2b40f
[gaim-migrate @ 16340]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
diff
changeset
|
140 | } |
|
16271
9605b8b1c673
Port SVN revisions 18230 to 18232 from Mark Huetsch from sf SVN to
Mark Doliner <markdoliner@pidgin.im>
parents:
15884
diff
changeset
|
141 | g_list_free(flags); |
|
14083
2b68bb18a66c
[gaim-migrate @ 16618]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
13932
diff
changeset
|
142 | } |