Tue, 11 Feb 2014 23:47:33 +0530
Merged default branch
|
20400
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
1 | /* |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
2 | * Evolution integration plugin for Purple |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
3 | * |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
4 | * Copyright (C) 2003 Christian Hammond. |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
5 | * |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
6 | * This program is free software; you can redistribute it and/or |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
7 | * modify it under the terms of the GNU General Public License as |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
8 | * published by the Free Software Foundation; either version 2 of the |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
9 | * License, or (at your option) any later version. |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
10 | * |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
11 | * This program is distributed in the hope that it will be useful, but |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
12 | * WITHOUT ANY WARRANTY; without even the implied warranty of |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
14 | * General Public License for more details. |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
15 | * |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
16 | * You should have received a copy of the GNU General Public License |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
17 | * along with this program; if not, write to the Free Software |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
19 | * 02111-1301, USA. |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
20 | */ |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
21 | #include "internal.h" |
|
34708
dd67596485ca
Undo renames of UI blist headers back to gntblist.h and gtkblist.h
Ankit Vani <a@nevitus.org>
parents:
34706
diff
changeset
|
22 | #include "gtkblist.h" |
|
20400
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
23 | #include "pidgin.h" |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
24 | #include "gtkutils.h" |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
25 | |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
26 | #include "gevolution.h" |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
27 | |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
28 | void |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
29 | gevo_add_buddy(PurpleAccount *account, const char *group_name, |
|
25889
26d9ca30335c
Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents:
22602
diff
changeset
|
30 | const char *buddy_name, const char *alias) |
|
20400
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
31 | { |
|
36773
62148e91059f
Refactored pidgin gevolution plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36637
diff
changeset
|
32 | PurpleIMConversation *im = NULL; |
|
20400
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
33 | PurpleBuddy *buddy; |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
34 | PurpleGroup *group; |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
35 | |
|
36773
62148e91059f
Refactored pidgin gevolution plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36637
diff
changeset
|
36 | im = purple_conversations_find_im_with_account(buddy_name, account); |
|
20400
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
37 | |
|
34728
8efd73063ecf
Renamed buddy list functions to more appropriate/simler names.
Ankit Vani <a@nevitus.org>
parents:
34726
diff
changeset
|
38 | group = purple_blist_find_group(group_name); |
|
28391
bde9215d656e
Fix what looks like an incorrect merge that caused gevolution's add buddy dialog
Paul Aurich <darkrain42@pidgin.im>
parents:
27706
diff
changeset
|
39 | if (group == NULL) |
|
20400
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
40 | { |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
41 | group = purple_group_new(group_name); |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
42 | purple_blist_add_group(group, NULL); |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
43 | } |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
44 | |
|
34728
8efd73063ecf
Renamed buddy list functions to more appropriate/simler names.
Ankit Vani <a@nevitus.org>
parents:
34726
diff
changeset
|
45 | buddy = purple_blist_find_buddy_in_group(account, buddy_name, group); |
|
28391
bde9215d656e
Fix what looks like an incorrect merge that caused gevolution's add buddy dialog
Paul Aurich <darkrain42@pidgin.im>
parents:
27706
diff
changeset
|
46 | if (buddy == NULL) |
|
bde9215d656e
Fix what looks like an incorrect merge that caused gevolution's add buddy dialog
Paul Aurich <darkrain42@pidgin.im>
parents:
27706
diff
changeset
|
47 | { |
|
26091
83f52ce0929f
propagate from branch 'im.pidgin.pidgin' (head b4bbfacd7f2050d87deeda12ea7bb3adc3608cb7)
Paul Aurich <darkrain42@pidgin.im>
diff
changeset
|
48 | buddy = purple_buddy_new(account, buddy_name, alias); |
|
24867
69105eeaf010
The Add Buddy dialog should not blindly create a duplicate buddy in a group
Paul Aurich <darkrain42@pidgin.im>
parents:
22602
diff
changeset
|
49 | purple_blist_add_buddy(buddy, NULL, group, NULL); |
|
69105eeaf010
The Add Buddy dialog should not blindly create a duplicate buddy in a group
Paul Aurich <darkrain42@pidgin.im>
parents:
22602
diff
changeset
|
50 | } |
|
69105eeaf010
The Add Buddy dialog should not blindly create a duplicate buddy in a group
Paul Aurich <darkrain42@pidgin.im>
parents:
22602
diff
changeset
|
51 | |
|
32438
dc8991868906
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30710
diff
changeset
|
52 | purple_account_add_buddy(account, buddy, NULL); |
|
20400
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
53 | |
|
36773
62148e91059f
Refactored pidgin gevolution plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36637
diff
changeset
|
54 | if (im != NULL) |
|
20400
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
55 | { |
|
36773
62148e91059f
Refactored pidgin gevolution plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
36637
diff
changeset
|
56 | purple_buddy_icon_update(purple_im_conversation_get_icon(im)); |
| 37049 | 57 | purple_conversation_update(PURPLE_CONVERSATION(im), |
|
35313
d299a8680115
Fix gevolution build for 3.0.0
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34864
diff
changeset
|
58 | PURPLE_CONVERSATION_UPDATE_ADD); |
|
20400
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
59 | } |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
60 | } |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
61 | |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
62 | GList * |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
63 | gevo_get_groups(void) |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
64 | { |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
65 | static GList *list = NULL; |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
66 | PurpleGroup *g; |
|
34864
0e292d8887de
Renamed PurpleBListNode back to PurpleBlistNode
Ankit Vani <a@nevitus.org>
parents:
34740
diff
changeset
|
67 | PurpleBlistNode *gnode; |
|
20400
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
68 | |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
69 | g_list_free(list); |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
70 | list = NULL; |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
71 | |
|
34726
af52ff6660c0
Replaced purple_get_blist() with purple_blist_get_buddy_list()
Ankit Vani <a@nevitus.org>
parents:
34708
diff
changeset
|
72 | if (purple_blist_get_buddy_list()->root == NULL) |
|
20400
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
73 | { |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
74 | list = g_list_append(list, (gpointer)_("Buddies")); |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
75 | } |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
76 | else |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
77 | { |
|
34726
af52ff6660c0
Replaced purple_get_blist() with purple_blist_get_buddy_list()
Ankit Vani <a@nevitus.org>
parents:
34708
diff
changeset
|
78 | for (gnode = purple_blist_get_buddy_list()->root; |
|
20400
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
79 | gnode != NULL; |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
80 | gnode = gnode->next) |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
81 | { |
|
34696
6e0d13978666
Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents:
34625
diff
changeset
|
82 | if (PURPLE_IS_GROUP(gnode)) |
|
20400
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
83 | { |
|
34740
9401f9b1ca68
Used GObject-style casts in plugins.
Ankit Vani <a@nevitus.org>
parents:
34728
diff
changeset
|
84 | g = PURPLE_GROUP(gnode); |
|
35313
d299a8680115
Fix gevolution build for 3.0.0
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34864
diff
changeset
|
85 | list = g_list_append(list, |
|
d299a8680115
Fix gevolution build for 3.0.0
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34864
diff
changeset
|
86 | (gpointer)purple_group_get_name(g)); |
|
20400
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
87 | } |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
88 | } |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
89 | } |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
90 | |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
91 | return list; |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
92 | } |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
93 | |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
94 | EContactField |
|
36545
23b59a16c808
Replaced some _prpl_ stuff with _protocol_
Ankit Vani <a@nevitus.org>
parents:
34864
diff
changeset
|
95 | gevo_protocol_get_field(PurpleAccount *account, PurpleBuddy *buddy) |
|
20400
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
96 | { |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
97 | EContactField protocol_field = 0; |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
98 | const char *protocol_id; |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
99 | |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
100 | g_return_val_if_fail(account != NULL, 0); |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
101 | |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
102 | protocol_id = purple_account_get_protocol_id(account); |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
103 | |
|
29935
d28b5dcc7554
Remove a bunch of old references to prpl-oscar
Mark Doliner <markdoliner@pidgin.im>
parents:
28391
diff
changeset
|
104 | if (!strcmp(protocol_id, "prpl-aim")) |
|
22602
68b71eecdaaf
Update gevolution plugin with support for the new protocol ids for AIM &
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
20644
diff
changeset
|
105 | protocol_field = E_CONTACT_IM_AIM; |
|
68b71eecdaaf
Update gevolution plugin with support for the new protocol ids for AIM &
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
20644
diff
changeset
|
106 | else if (!strcmp(protocol_id, "prpl-icq")) |
|
68b71eecdaaf
Update gevolution plugin with support for the new protocol ids for AIM &
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
20644
diff
changeset
|
107 | protocol_field = E_CONTACT_IM_ICQ; |
|
20400
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
108 | else if (!strcmp(protocol_id, "prpl-msn")) |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
109 | protocol_field = E_CONTACT_IM_MSN; |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
110 | else if (!strcmp(protocol_id, "prpl-yahoo")) |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
111 | protocol_field = E_CONTACT_IM_YAHOO; |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
112 | else if (!strcmp(protocol_id, "prpl-jabber")) |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
113 | protocol_field = E_CONTACT_IM_JABBER; |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
114 | else if (!strcmp(protocol_id, "prpl-novell")) |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
115 | protocol_field = E_CONTACT_IM_GROUPWISE; |
|
30710
b3c55bf4a7c6
Add GG support to gevolution.
Etan Reisner <deryni@pidgin.im>
parents:
29935
diff
changeset
|
116 | else if (!strcmp(protocol_id, "prpl-gg")) |
|
b3c55bf4a7c6
Add GG support to gevolution.
Etan Reisner <deryni@pidgin.im>
parents:
29935
diff
changeset
|
117 | protocol_field = E_CONTACT_IM_GADUGADU; |
|
20400
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
118 | |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
119 | return protocol_field; |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
120 | } |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
121 | |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
122 | gboolean |
|
36545
23b59a16c808
Replaced some _prpl_ stuff with _protocol_
Ankit Vani <a@nevitus.org>
parents:
34864
diff
changeset
|
123 | gevo_protocol_is_supported(PurpleAccount *account, PurpleBuddy *buddy) |
|
20400
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
124 | { |
|
36545
23b59a16c808
Replaced some _prpl_ stuff with _protocol_
Ankit Vani <a@nevitus.org>
parents:
34864
diff
changeset
|
125 | return (gevo_protocol_get_field(account, buddy) != 0); |
|
20400
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
126 | } |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
127 | |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
128 | gboolean |
|
35522
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
129 | gevo_load_addressbook(const gchar* uid, EBook **book, GError **error) |
|
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
130 | { |
|
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
131 | gboolean result = FALSE; |
|
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
132 | ESourceRegistry *registry; |
|
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
133 | ESource *source; |
|
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
134 | |
|
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
135 | g_return_val_if_fail(book != NULL, FALSE); |
|
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
136 | |
|
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
137 | registry = e_source_registry_new_sync(NULL, error); |
|
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
138 | |
|
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
139 | if (!registry) |
|
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
140 | return FALSE; |
|
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
141 | |
|
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
142 | if (uid == NULL) |
|
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
143 | source = e_source_registry_ref_default_address_book(registry); |
|
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
144 | else |
|
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
145 | source = e_source_registry_ref_source(registry, uid); |
|
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
146 | |
|
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
147 | g_object_unref(registry); |
|
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
148 | |
|
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
149 | result = gevo_load_addressbook_from_source(source, book, error); |
|
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
150 | |
|
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
151 | g_object_unref(source); |
|
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
152 | |
|
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
153 | return result; |
|
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
154 | } |
|
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
155 | |
|
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
156 | gboolean |
|
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
157 | gevo_load_addressbook_from_source(ESource *source, EBook **book, GError **error) |
|
20400
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
158 | { |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
159 | gboolean result = FALSE; |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
160 | |
|
35522
82139d173179
Fix gevolution build with e-d-s >= 3.6 and drop older versions. Fixes #15353
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35313
diff
changeset
|
161 | *book = e_book_new(source, error); |
|
20400
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
162 | |
|
27706
ae1893256821
Hopefully provide better debug logs when gevolution plugin can't open the
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
26092
diff
changeset
|
163 | if (*book == NULL) |
|
ae1893256821
Hopefully provide better debug logs when gevolution plugin can't open the
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
26092
diff
changeset
|
164 | return FALSE; |
|
ae1893256821
Hopefully provide better debug logs when gevolution plugin can't open the
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
26092
diff
changeset
|
165 | |
|
ae1893256821
Hopefully provide better debug logs when gevolution plugin can't open the
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
26092
diff
changeset
|
166 | *error = NULL; |
|
ae1893256821
Hopefully provide better debug logs when gevolution plugin can't open the
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
26092
diff
changeset
|
167 | |
|
ae1893256821
Hopefully provide better debug logs when gevolution plugin can't open the
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
26092
diff
changeset
|
168 | result = e_book_open(*book, FALSE, error); |
|
20400
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
169 | |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
170 | if (!result && *book != NULL) |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
171 | { |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
172 | g_object_unref(*book); |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
173 | *book = NULL; |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
174 | } |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
175 | |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
176 | return result; |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
177 | } |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
178 | |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
179 | char * |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
180 | gevo_get_email_for_buddy(PurpleBuddy *buddy) |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
181 | { |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
182 | EContact *contact; |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
183 | char *mail = NULL; |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
184 | |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
185 | contact = gevo_search_buddy_in_contacts(buddy, NULL); |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
186 | |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
187 | if (contact != NULL) |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
188 | { |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
189 | mail = g_strdup(e_contact_get(contact, E_CONTACT_EMAIL_1)); |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
190 | g_object_unref(contact); |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
191 | } |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
192 | |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
193 | if (mail == NULL) |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
194 | { |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
195 | PurpleAccount *account = purple_buddy_get_account(buddy); |
|
36545
23b59a16c808
Replaced some _prpl_ stuff with _protocol_
Ankit Vani <a@nevitus.org>
parents:
34864
diff
changeset
|
196 | const char *protocol_id = purple_account_get_protocol_id(account); |
|
20400
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
197 | |
|
37005
702a601fc2ca
Update protocol IDs in codebase
Ankit Vani <a@nevitus.org>
parents:
36773
diff
changeset
|
198 | if (!strcmp(protocol_id, "prpl-msn")) |
|
20400
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
199 | { |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
200 | mail = g_strdup(purple_normalize(account, |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
201 | purple_buddy_get_name(buddy))); |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
202 | } |
|
37005
702a601fc2ca
Update protocol IDs in codebase
Ankit Vani <a@nevitus.org>
parents:
36773
diff
changeset
|
203 | else if (!strcmp(protocol_id, "prpl-yahoo")) |
|
20400
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
204 | { |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
205 | mail = g_strdup_printf("%s@yahoo.com", |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
206 | purple_normalize(account, |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
207 | purple_buddy_get_name(buddy))); |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
208 | } |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
209 | } |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
210 | |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
211 | return mail; |
|
f7a9cc27b997
disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff
changeset
|
212 | } |