annotate src/gtkthemes.h @ 13967:99b9b58b19dd

[gaim-migrate @ 16523] Fix a crazy MSN crash. Basically it's possible to have more than one slplink associated with a given switchboard, but our code did not allow for that. I think it happens when you're in a multi-user chat and you do stuff with multiple users that involves slplinks. Like maybe file transfer and buddy icon related stuff. Tracking this down took an ungodly amount of time, but thanks to Meebo for letting me do it :-) committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Thu, 20 Jul 2006 07:31:15 +0000
parents 202ce52b77a9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11529
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
1 /**
11580
24169af08585 [gaim-migrate @ 13850]
Mark Doliner <mark@kingant.net>
parents: 11557
diff changeset
2 * @file gtkthemes.h GTK+ Smiley Theme API
24169af08585 [gaim-migrate @ 13850]
Mark Doliner <mark@kingant.net>
parents: 11557
diff changeset
3 * @ingroup gtkui
11529
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
4 *
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
5 * gaim
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
6 *
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
7 * Gaim is the legal property of its developers, whose names are too numerous
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
8 * to list here. Please refer to the COPYRIGHT file distributed with this
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
9 * source distribution.
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
10 *
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
11 * This program is free software; you can redistribute it and/or modify
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
12 * it under the terms of the GNU General Public License as published by
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
13 * the Free Software Foundation; either version 2 of the License, or
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
14 * (at your option) any later version.
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
15 *
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
16 * This program is distributed in the hope that it will be useful,
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
19 * GNU General Public License for more details.
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
20 *
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
21 * You should have received a copy of the GNU General Public License
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
22 * along with this program; if not, write to the Free Software
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
24 */
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
25 #ifndef _GAIM_GTKTHEMES_H_
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
26 #define _GAIM_GTKTHEMES_H_
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
27
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
28 struct smiley_list {
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
29 char *sml;
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
30 GSList *smileys;
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
31 struct smiley_list *next;
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
32 };
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
33
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
34 struct smiley_theme {
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
35 char *path;
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
36 char *name;
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
37 char *desc;
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
38 char *icon;
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
39 char *author;
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
40
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
41 struct smiley_list *list;
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
42 };
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
43
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
44 extern struct smiley_theme *current_smiley_theme;
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
45 extern GSList *smiley_themes;
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
46
12497
202ce52b77a9 [gaim-migrate @ 14809]
Richard Laager <rlaager@wiktel.com>
parents: 12323
diff changeset
47 void gaim_gtkthemes_init(void);
12323
fc464a0abccc [gaim-migrate @ 14627]
Richard Laager <rlaager@wiktel.com>
parents: 11580
diff changeset
48 gboolean gaim_gtkthemes_smileys_disabled(void);
12497
202ce52b77a9 [gaim-migrate @ 14809]
Richard Laager <rlaager@wiktel.com>
parents: 12323
diff changeset
49 void gaim_gtkthemes_smiley_themeize(GtkWidget *);
202ce52b77a9 [gaim-migrate @ 14809]
Richard Laager <rlaager@wiktel.com>
parents: 12323
diff changeset
50 void gaim_gtkthemes_smiley_theme_probe(void);
202ce52b77a9 [gaim-migrate @ 14809]
Richard Laager <rlaager@wiktel.com>
parents: 12323
diff changeset
51 void gaim_gtkthemes_load_smiley_theme(const char *file, gboolean load);
202ce52b77a9 [gaim-migrate @ 14809]
Richard Laager <rlaager@wiktel.com>
parents: 12323
diff changeset
52 GSList *gaim_gtkthemes_get_proto_smileys(const char *id);
11529
dde21fe88bf7 [gaim-migrate @ 13778]
Tim Ringenbach <marv@pidgin.im>
parents:
diff changeset
53 #endif /* _GAIM_GTKDIALOGS_H_ */