Mercurial > pidgin
annotate plugins/gevolution/gevolution.h @ 12229:18f0dadb29cf
[gaim-migrate @ 14531]
SF Patch #1366481 from Michael Carlson
"The function gtk_smiley_tree_insert() in gtkimhtml.c is
using up (on my system) the most CPU of all the
functions in gaim whenever the preferences box is
opened (tested by opening the preferences box 50 times
and measuring with oprofile).
The function is called some 297 times each time the
prefs box is opened, and each time we call strlen() on
a (usually 3 or 4) character string to see if the
string is empty or not.
I've eliminated the unnecessary call to strlen by
checking the first element, and I've changed the while
{} loop to a do {} while loop, because since we return
if the string is empty at the beginning of the
function, the same check on the first iteration of the
loop is unnecessary.
I believe it's faster for every case, even if only by a
little bit."
I don't know how necessary this is, but it doesn't hurt and it doesn't negatively impact the readability of the code.
I also fixed an existing piece of code for which the compiler issued a warning.
committer: Tailor Script <tailor@pidgin.im>
| author | Richard Laager <rlaager@wiktel.com> |
|---|---|
| date | Sat, 26 Nov 2005 17:09:29 +0000 |
| parents | 5a8bc4b1f5b6 |
| children |
| rev | line source |
|---|---|
| 8089 | 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 | |
|
9046
c307cf4c84d2
[gaim-migrate @ 9822]
Christian Hammond <chipx86@chipx86.com>
parents:
8089
diff
changeset
|
24 #ifdef HAVE_CONFIG_H |
|
c307cf4c84d2
[gaim-migrate @ 9822]
Christian Hammond <chipx86@chipx86.com>
parents:
8089
diff
changeset
|
25 # include "config.h" |
|
c307cf4c84d2
[gaim-migrate @ 9822]
Christian Hammond <chipx86@chipx86.com>
parents:
8089
diff
changeset
|
26 #endif |
|
c307cf4c84d2
[gaim-migrate @ 9822]
Christian Hammond <chipx86@chipx86.com>
parents:
8089
diff
changeset
|
27 |
| 8089 | 28 #include <libebook/e-book.h> |
| 29 | |
|
10081
ff4be2d1401d
[gaim-migrate @ 11071]
Christian Hammond <chipx86@chipx86.com>
parents:
9567
diff
changeset
|
30 enum |
|
ff4be2d1401d
[gaim-migrate @ 11071]
Christian Hammond <chipx86@chipx86.com>
parents:
9567
diff
changeset
|
31 { |
|
ff4be2d1401d
[gaim-migrate @ 11071]
Christian Hammond <chipx86@chipx86.com>
parents:
9567
diff
changeset
|
32 ADDRBOOK_COLUMN_NAME, |
|
ff4be2d1401d
[gaim-migrate @ 11071]
Christian Hammond <chipx86@chipx86.com>
parents:
9567
diff
changeset
|
33 ADDRBOOK_COLUMN_URI, |
|
ff4be2d1401d
[gaim-migrate @ 11071]
Christian Hammond <chipx86@chipx86.com>
parents:
9567
diff
changeset
|
34 NUM_ADDRBOOK_COLUMNS |
|
ff4be2d1401d
[gaim-migrate @ 11071]
Christian Hammond <chipx86@chipx86.com>
parents:
9567
diff
changeset
|
35 }; |
|
ff4be2d1401d
[gaim-migrate @ 11071]
Christian Hammond <chipx86@chipx86.com>
parents:
9567
diff
changeset
|
36 |
|
ff4be2d1401d
[gaim-migrate @ 11071]
Christian Hammond <chipx86@chipx86.com>
parents:
9567
diff
changeset
|
37 typedef struct |
|
ff4be2d1401d
[gaim-migrate @ 11071]
Christian Hammond <chipx86@chipx86.com>
parents:
9567
diff
changeset
|
38 { |
|
ff4be2d1401d
[gaim-migrate @ 11071]
Christian Hammond <chipx86@chipx86.com>
parents:
9567
diff
changeset
|
39 GtkListStore *sources; |
|
ff4be2d1401d
[gaim-migrate @ 11071]
Christian Hammond <chipx86@chipx86.com>
parents:
9567
diff
changeset
|
40 EBook *active_book; |
|
ff4be2d1401d
[gaim-migrate @ 11071]
Christian Hammond <chipx86@chipx86.com>
parents:
9567
diff
changeset
|
41 GList *contacts; |
|
ff4be2d1401d
[gaim-migrate @ 11071]
Christian Hammond <chipx86@chipx86.com>
parents:
9567
diff
changeset
|
42 |
|
ff4be2d1401d
[gaim-migrate @ 11071]
Christian Hammond <chipx86@chipx86.com>
parents:
9567
diff
changeset
|
43 } GevoAddrbooksSelector; |
|
9354
a5ec9e73f46d
[gaim-migrate @ 10162]
Christian Hammond <chipx86@chipx86.com>
parents:
9046
diff
changeset
|
44 |
| 8089 | 45 typedef struct |
| 46 { | |
| 47 GaimAccount *account; | |
| 48 char *username; | |
| 49 | |
| 50 EBook *book; | |
| 51 | |
| 52 GtkWidget *win; | |
| 53 GtkWidget *treeview; | |
|
10081
ff4be2d1401d
[gaim-migrate @ 11071]
Christian Hammond <chipx86@chipx86.com>
parents:
9567
diff
changeset
|
54 GtkWidget *addrbooks_combo; |
| 8089 | 55 GtkWidget *search_field; |
| 56 GtkWidget *group_combo; | |
| 57 GtkWidget *select_button; | |
| 58 GtkWidget *account_optmenu; | |
| 59 GtkListStore *model; | |
| 60 | |
|
10081
ff4be2d1401d
[gaim-migrate @ 11071]
Christian Hammond <chipx86@chipx86.com>
parents:
9567
diff
changeset
|
61 GtkTreeModel *addrbooks; |
| 8089 | 62 GList *contacts; |
| 63 | |
| 64 } GevoAddBuddyDialog; | |
| 65 | |
| 66 typedef struct | |
| 67 { | |
| 68 gboolean person_only; | |
| 69 | |
| 70 GaimAccount *account; | |
| 71 GaimBuddy *buddy; | |
| 72 | |
|
10081
ff4be2d1401d
[gaim-migrate @ 11071]
Christian Hammond <chipx86@chipx86.com>
parents:
9567
diff
changeset
|
73 EBook *book; |
| 8089 | 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; | |
|
10081
ff4be2d1401d
[gaim-migrate @ 11071]
Christian Hammond <chipx86@chipx86.com>
parents:
9567
diff
changeset
|
97 GtkWidget *addrbooks_combo; |
| 8089 | 98 GtkWidget *search_field; |
| 99 GtkWidget *assoc_button; | |
| 100 GtkWidget *imhtml; | |
| 101 GtkListStore *model; | |
| 102 | |
|
10081
ff4be2d1401d
[gaim-migrate @ 11071]
Christian Hammond <chipx86@chipx86.com>
parents:
9567
diff
changeset
|
103 GtkTreeModel *addrbooks; |
| 8089 | 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 | |
|
10081
ff4be2d1401d
[gaim-migrate @ 11071]
Christian Hammond <chipx86@chipx86.com>
parents:
9567
diff
changeset
|
115 void gevo_new_person_dialog_show(EBook *book, EContact *contact, |
|
ff4be2d1401d
[gaim-migrate @ 11071]
Christian Hammond <chipx86@chipx86.com>
parents:
9567
diff
changeset
|
116 GaimAccount *account, const char *username, |
|
ff4be2d1401d
[gaim-migrate @ 11071]
Christian Hammond <chipx86@chipx86.com>
parents:
9567
diff
changeset
|
117 const char *group, GaimBuddy *buddy, |
|
ff4be2d1401d
[gaim-migrate @ 11071]
Christian Hammond <chipx86@chipx86.com>
parents:
9567
diff
changeset
|
118 gboolean person_only); |
| 8089 | 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); | |
|
10081
ff4be2d1401d
[gaim-migrate @ 11071]
Christian Hammond <chipx86@chipx86.com>
parents:
9567
diff
changeset
|
126 gboolean gevo_load_addressbook(const gchar *uri, EBook **book, GError **error); |
| 8089 | 127 |
| 128 GevoAssociateBuddyDialog *gevo_associate_buddy_dialog_new(GaimBuddy *buddy); | |
| 129 | |
|
10081
ff4be2d1401d
[gaim-migrate @ 11071]
Christian Hammond <chipx86@chipx86.com>
parents:
9567
diff
changeset
|
130 GtkTreeModel *gevo_addrbooks_model_new(void); |
|
ff4be2d1401d
[gaim-migrate @ 11071]
Christian Hammond <chipx86@chipx86.com>
parents:
9567
diff
changeset
|
131 void gevo_addrbooks_model_unref(GtkTreeModel *model); |
|
ff4be2d1401d
[gaim-migrate @ 11071]
Christian Hammond <chipx86@chipx86.com>
parents:
9567
diff
changeset
|
132 void gevo_addrbooks_model_populate(GtkTreeModel *model); |
|
11117
5a8bc4b1f5b6
[gaim-migrate @ 13173]
Richard Laager <rlaager@wiktel.com>
parents:
10835
diff
changeset
|
133 EContact *gevo_search_buddy_in_contacts(GaimBuddy *buddy, EBookQuery *query); |
|
10081
ff4be2d1401d
[gaim-migrate @ 11071]
Christian Hammond <chipx86@chipx86.com>
parents:
9567
diff
changeset
|
134 |
| 8089 | 135 #endif /* _GEVOLUTION_H_ */ |
