| 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_ */ |
|