pidgin/plugins/gevolution/gevo-util.c

Fri, 09 Aug 2019 00:41:13 -0400

author
Elliott Sales de Andrade <qulogic@pidgin.im>
date
Fri, 09 Aug 2019 00:41:13 -0400
changeset 39785
aa7e3b71802d
parent 39665
2172e3b8eeef
child 40502
875489636847
permissions
-rw-r--r--

Split pidgin_account_option_menu into its own files.

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"
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
22 #include "gtkblist.h"
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>
parents: 25889 24867
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
02db93eb6506 Merged gtkdoc-conversion branch
Ankit Vani <a@nevitus.org>
parents: 37005 35313
diff changeset
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;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
67 PurpleBlistNode *gnode;
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
39665
2172e3b8eeef Rename some buddy list accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38358
diff changeset
72 gnode = purple_blist_get_default_root();
2172e3b8eeef Rename some buddy list accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38358
diff changeset
73 if (gnode == NULL) {
35958
1d8446f396b6 blist: define default group better
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35522
diff changeset
74 list = g_list_append(list,
1d8446f396b6 blist: define default group better
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35522
diff changeset
75 (gpointer)PURPLE_BLIST_DEFAULT_GROUP_NAME);
1d8446f396b6 blist: define default group better
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35522
diff changeset
76 } else {
39665
2172e3b8eeef Rename some buddy list accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38358
diff changeset
77 for (; gnode != NULL; gnode = gnode->next) {
34696
6e0d13978666 Global replace to use GObject-style macros. See details.
Ankit Vani <a@nevitus.org>
parents: 34625
diff changeset
78 if (PURPLE_IS_GROUP(gnode))
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
79 {
34740
9401f9b1ca68 Used GObject-style casts in plugins.
Ankit Vani <a@nevitus.org>
parents: 34728
diff changeset
80 g = PURPLE_GROUP(gnode);
35313
d299a8680115 Fix gevolution build for 3.0.0
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34864
diff changeset
81 list = g_list_append(list,
d299a8680115 Fix gevolution build for 3.0.0
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 34864
diff changeset
82 (gpointer)purple_group_get_name(g));
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
83 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
84 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
85 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
86
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
87 return list;
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 EContactField
36545
23b59a16c808 Replaced some _prpl_ stuff with _protocol_
Ankit Vani <a@nevitus.org>
parents: 34864
diff changeset
91 gevo_protocol_get_field(PurpleAccount *account, PurpleBuddy *buddy)
20400
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 EContactField protocol_field = 0;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
94 const char *protocol_id;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
95
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
96 g_return_val_if_fail(account != NULL, 0);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
97
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
98 protocol_id = purple_account_get_protocol_id(account);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
99
38258
9a6551eba09c Replace !strcmp() with purple_strequal()
qarkai <qarkai@gmail.com>
parents: 38089
diff changeset
100 if (purple_strequal(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
101 protocol_field = E_CONTACT_IM_AIM;
38258
9a6551eba09c Replace !strcmp() with purple_strequal()
qarkai <qarkai@gmail.com>
parents: 38089
diff changeset
102 else if (purple_strequal(protocol_id, "prpl-icq"))
22602
68b71eecdaaf Update gevolution plugin with support for the new protocol ids for AIM &
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20644
diff changeset
103 protocol_field = E_CONTACT_IM_ICQ;
38258
9a6551eba09c Replace !strcmp() with purple_strequal()
qarkai <qarkai@gmail.com>
parents: 38089
diff changeset
104 else if (purple_strequal(protocol_id, "prpl-jabber"))
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
105 protocol_field = E_CONTACT_IM_JABBER;
38258
9a6551eba09c Replace !strcmp() with purple_strequal()
qarkai <qarkai@gmail.com>
parents: 38089
diff changeset
106 else if (purple_strequal(protocol_id, "prpl-novell"))
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
107 protocol_field = E_CONTACT_IM_GROUPWISE;
38258
9a6551eba09c Replace !strcmp() with purple_strequal()
qarkai <qarkai@gmail.com>
parents: 38089
diff changeset
108 else if (purple_strequal(protocol_id, "prpl-gg"))
30710
b3c55bf4a7c6 Add GG support to gevolution.
Etan Reisner <deryni@pidgin.im>
parents: 29935
diff changeset
109 protocol_field = E_CONTACT_IM_GADUGADU;
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
110
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
111 return protocol_field;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
112 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
113
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
114 gboolean
36545
23b59a16c808 Replaced some _prpl_ stuff with _protocol_
Ankit Vani <a@nevitus.org>
parents: 34864
diff changeset
115 gevo_protocol_is_supported(PurpleAccount *account, PurpleBuddy *buddy)
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
116 {
36545
23b59a16c808 Replaced some _prpl_ stuff with _protocol_
Ankit Vani <a@nevitus.org>
parents: 34864
diff changeset
117 return (gevo_protocol_get_field(account, buddy) != 0);
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
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
120 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
121 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
122 {
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
123 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
124 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
125 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
126
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
127 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
128
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 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
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 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
132 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
133
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 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
135 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
136 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
137 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
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 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
140
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 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
142
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 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
144
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 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
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
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 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
149 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
150 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
151 gboolean result = FALSE;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
152
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
153 *book = e_book_new(source, error);
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
154
27706
ae1893256821 Hopefully provide better debug logs when gevolution plugin can't open the
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 26092
diff changeset
155 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
156 return FALSE;
ae1893256821 Hopefully provide better debug logs when gevolution plugin can't open the
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 26092
diff changeset
157
ae1893256821 Hopefully provide better debug logs when gevolution plugin can't open the
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 26092
diff changeset
158 *error = NULL;
ae1893256821 Hopefully provide better debug logs when gevolution plugin can't open the
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 26092
diff changeset
159
ae1893256821 Hopefully provide better debug logs when gevolution plugin can't open the
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 26092
diff changeset
160 result = e_book_open(*book, FALSE, error);
20400
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
161
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
162 if (!result && *book != NULL)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
163 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
164 g_object_unref(*book);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
165 *book = NULL;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
166 }
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
167
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
168 return result;
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
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
171 char *
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
172 gevo_get_email_for_buddy(PurpleBuddy *buddy)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
173 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
174 EContact *contact;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
175 char *mail = NULL;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
176
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
177 contact = gevo_search_buddy_in_contacts(buddy, NULL);
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 if (contact != NULL)
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
180 {
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
181 mail = g_strdup(e_contact_get(contact, E_CONTACT_EMAIL_1));
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
182 g_object_unref(contact);
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
183 }
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 return mail;
f7a9cc27b997 disapproval of revision '88f86f065f99effaf1315dafbae8c9763ca5750d'
Luke Schierer <lschiere@pidgin.im>
parents:
diff changeset
186 }

mercurial