comparison gtk/plugins/gevolution/gevolution.h @ 14191:009db0b357b5

This is a hand-crafted commit to migrate across subversion revisions 16854:16861, due to some vagaries of the way the original renames were done. Witness that monotone can do in one revision what svn had to spread across several.
author Ethan Blanton <elb@pidgin.im>
date Sat, 16 Dec 2006 04:59:55 +0000
parents
children 89ef5680f228
comparison
equal deleted inserted replaced
14190:366be2ce35a7 14191:009db0b357b5
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
128 GevoAssociateBuddyDialog *gevo_associate_buddy_dialog_new(GaimBuddy *buddy);
129
130 GtkTreeModel *gevo_addrbooks_model_new(void);
131 void gevo_addrbooks_model_unref(GtkTreeModel *model);
132 void gevo_addrbooks_model_populate(GtkTreeModel *model);
133 EContact *gevo_search_buddy_in_contacts(GaimBuddy *buddy, EBookQuery *query);
134
135 #endif /* _GEVOLUTION_H_ */