| |
1 /* |
| |
2 * Evolution integration plugin for Gaim |
| |
3 * |
| |
4 * Copyright (C) 2003 Christian Hammond. |
| |
5 * |
| |
6 * This program is free software; you can redistribute it and/or |
| |
7 * modify it under the terms of the GNU General Public License as |
| |
8 * published by the Free Software Foundation; either version 2 of the |
| |
9 * License, or (at your option) any later version. |
| |
10 * |
| |
11 * This program is distributed in the hope that it will be useful, but |
| |
12 * WITHOUT ANY WARRANTY; without even the implied warranty of |
| |
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| |
14 * General Public License for more details. |
| |
15 * |
| |
16 * You should have received a copy of the GNU General Public License |
| |
17 * along with this program; if not, write to the Free Software |
| |
18 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA |
| |
19 * 02111-1307, USA. |
| |
20 */ |
| |
21 #ifndef _GEVOLUTION_H_ |
| |
22 #define _GEVOLUTION_H_ |
| |
23 |
| |
24 #ifdef HAVE_CONFIG_H |
| |
25 # include "config.h" |
| |
26 #endif |
| |
27 |
| |
28 #include <libebook/e-book.h> |
| |
29 |
| |
30 enum |
| |
31 { |
| |
32 ADDRBOOK_COLUMN_NAME, |
| |
33 ADDRBOOK_COLUMN_URI, |
| |
34 NUM_ADDRBOOK_COLUMNS |
| |
35 }; |
| |
36 |
| |
37 typedef struct |
| |
38 { |
| |
39 GtkListStore *sources; |
| |
40 EBook *active_book; |
| |
41 GList *contacts; |
| |
42 |
| |
43 } GevoAddrbooksSelector; |
| |
44 |
| |
45 typedef struct |
| |
46 { |
| |
47 GaimAccount *account; |
| |
48 char *username; |
| |
49 |
| |
50 EBook *book; |
| |
51 |
| |
52 GtkWidget *win; |
| |
53 GtkWidget *treeview; |
| |
54 GtkWidget *addrbooks_combo; |
| |
55 GtkWidget *search_field; |
| |
56 GtkWidget *group_combo; |
| |
57 GtkWidget *select_button; |
| |
58 GtkWidget *account_optmenu; |
| |
59 GtkListStore *model; |
| |
60 |
| |
61 GtkTreeModel *addrbooks; |
| |
62 GList *contacts; |
| |
63 |
| |
64 } GevoAddBuddyDialog; |
| |
65 |
| |
66 typedef struct |
| |
67 { |
| |
68 gboolean person_only; |
| |
69 |
| |
70 GaimAccount *account; |
| |
71 GaimBuddy *buddy; |
| |
72 |
| |
73 EBook *book; |
| |
74 EContact *contact; |
| |
75 |
| |
76 GtkWidget *win; |
| |
77 GtkWidget *accounts_menu; |
| |
78 GtkWidget *screenname; |
| |
79 GtkWidget *firstname; |
| |
80 GtkWidget *lastname; |
| |
81 GtkWidget *email; |
| |
82 GtkWidget *group_combo; |
| |
83 GtkWidget *add_button; |
| |
84 |
| |
85 char *buddy_icon; |
| |
86 |
| |
87 } GevoNewPersonDialog; |
| |
88 |
| |
89 typedef struct |
| |
90 { |
| |
91 GaimBuddy *buddy; |
| |
92 |
| |
93 EBook *book; |
| |
94 |
| |
95 GtkWidget *win; |
| |
96 GtkWidget *treeview; |
| |
97 GtkWidget *addrbooks_combo; |
| |
98 GtkWidget *search_field; |
| |
99 GtkWidget *assoc_button; |
| |
100 GtkWidget *imhtml; |
| |
101 GtkListStore *model; |
| |
102 |
| |
103 GtkTreeModel *addrbooks; |
| |
104 GList *contacts; |
| |
105 |
| |
106 } GevoAssociateBuddyDialog; |
| |
107 |
| |
108 void gevo_add_buddy_dialog_show(GaimAccount *account, const char *username, |
| |
109 const char *group, const char *alias); |
| |
110 void gevo_add_buddy_dialog_add_person(GevoAddBuddyDialog *dialog, |
| |
111 EContact *contact, |
| |
112 const char *name, GaimAccount *account, |
| |
113 const char *screenname); |
| |
114 |
| |
115 void gevo_new_person_dialog_show(EBook *book, EContact *contact, |
| |
116 GaimAccount *account, const char *username, |
| |
117 const char *group, GaimBuddy *buddy, |
| |
118 gboolean person_only); |
| |
119 |
| |
120 void gevo_add_buddy(GaimAccount *account, const char *group_name, |
| |
121 const char *screenname, const char *alias); |
| |
122 GList *gevo_get_groups(void); |
| |
123 |
| |
124 EContactField gevo_prpl_get_field(GaimAccount *account, GaimBuddy *buddy); |
| |
125 gboolean gevo_prpl_is_supported(GaimAccount *account, GaimBuddy *buddy); |
| |
126 gboolean gevo_load_addressbook(const gchar *uri, EBook **book, GError **error); |
| |
127 char *gevo_get_email_for_buddy(GaimBuddy *buddy); |
| |
128 |
| |
129 GevoAssociateBuddyDialog *gevo_associate_buddy_dialog_new(GaimBuddy *buddy); |
| |
130 |
| |
131 GtkTreeModel *gevo_addrbooks_model_new(void); |
| |
132 void gevo_addrbooks_model_unref(GtkTreeModel *model); |
| |
133 void gevo_addrbooks_model_populate(GtkTreeModel *model); |
| |
134 EContact *gevo_search_buddy_in_contacts(GaimBuddy *buddy, EBookQuery *query); |
| |
135 |
| |
136 #endif /* _GEVOLUTION_H_ */ |