src/gtkthemes.c

Fri, 06 Jan 2006 04:46:00 +0000

author
Casey Harkins <charkins@pidgin.im>
date
Fri, 06 Jan 2006 04:46:00 +0000
changeset 12744
45d72d69f399
parent 11557
7a20e7fb7915
child 12915
d3efd3201aec
permissions
-rw-r--r--

[gaim-migrate @ 15091]
" Adds an emblem to a buddy if they have a queued message
(hidden conversation). In the large buddy list it is
added in the northwest corner, sliding the existing
northwest emblem (if specified) to the northeast
position and discarding the northeast emblem. In the
small buddy list, the emblem is added to the southeast.

Attached is a patch and an emblem image to be dropped
in pixmaps/status/default/. The emblem image is a
scaled down version of the send-im.png image." -- Casey Harkins

as I asked for this patch, and since there don't seem to be objections to
it (yet), I'm going ahead and applying it.

committer: Luke Schierer <lschiere@pidgin.im>

10295
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
1 /*
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
2 * Themes for Gaim
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
3 *
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
4 * Gaim is the legal property of its developers, whose names are too numerous
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
5 * to list here. Please refer to the COPYRIGHT file distributed with this
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
6 * source distribution.
11525
1d06283bdcc9 [gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 10589
diff changeset
7 *
10295
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
8 * This program is free software; you can redistribute it and/or modify
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
9 * it under the terms of the GNU General Public License as published by
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
10 * the Free Software Foundation; either version 2 of the License, or
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
11 * (at your option) any later version.
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
12 *
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
13 * This program is distributed in the hope that it will be useful,
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
16 * GNU General Public License for more details.
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
17 *
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
18 * You should have received a copy of the GNU General Public License
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
19 * along with this program; if not, write to the Free Software
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
21 *
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
22 */
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
23 #include "internal.h"
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
24 #include "gtkgaim.h"
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
25
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
26 #include "conversation.h"
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
27 #include "debug.h"
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
28 #include "prpl.h"
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
29 #include "util.h"
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
30
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
31 #include "gtkconv.h"
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
32 #include "gtkdialogs.h"
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
33 #include "gtkimhtml.h"
11525
1d06283bdcc9 [gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 10589
diff changeset
34 #include "gtkthemes.h"
10295
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
35
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
36 GSList *smiley_themes = NULL;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
37 struct smiley_theme *current_smiley_theme;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
38
11525
1d06283bdcc9 [gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 10589
diff changeset
39 gboolean gaim_gtkthemes_smileys_disabled()
1d06283bdcc9 [gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 10589
diff changeset
40 {
1d06283bdcc9 [gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 10589
diff changeset
41 if (!current_smiley_theme)
1d06283bdcc9 [gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 10589
diff changeset
42 return 1;
1d06283bdcc9 [gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 10589
diff changeset
43
1d06283bdcc9 [gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 10589
diff changeset
44 return strcmp(current_smiley_theme->name, "none") == 0;
1d06283bdcc9 [gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 10589
diff changeset
45 }
1d06283bdcc9 [gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 10589
diff changeset
46
1d06283bdcc9 [gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 10589
diff changeset
47 void gaim_gtkthemes_smiley_themeize(GtkWidget *imhtml)
10295
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
48 {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
49 struct smiley_list *list;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
50 if (!current_smiley_theme)
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
51 return;
11525
1d06283bdcc9 [gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 10589
diff changeset
52
10295
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
53 gtk_imhtml_remove_smileys(GTK_IMHTML(imhtml));
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
54 list = current_smiley_theme->list;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
55 while (list) {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
56 char *sml = !strcmp(list->sml, "default") ? NULL : list->sml;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
57 GSList *icons = list->smileys;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
58 while (icons) {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
59 gtk_imhtml_associate_smiley(GTK_IMHTML(imhtml), sml, icons->data);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
60 icons = icons->next;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
61 }
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
62 list = list->next;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
63 }
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
64 }
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
65
11525
1d06283bdcc9 [gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 10589
diff changeset
66 void gaim_gtkthemes_load_smiley_theme(const char *file, gboolean load)
10295
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
67 {
10589
4e10236e06d4 [gaim-migrate @ 11994]
Daniel Atallah <datallah@pidgin.im>
parents: 10295
diff changeset
68 FILE *f = g_fopen(file, "r");
10295
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
69 char buf[256];
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
70 char *i;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
71 struct smiley_theme *theme=NULL;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
72 struct smiley_list *list = NULL;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
73 GSList *lst = smiley_themes;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
74 char *dirname;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
75
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
76 if (!f)
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
77 return;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
78
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
79 while (lst) {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
80 struct smiley_theme *thm = lst->data;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
81 if (!strcmp(thm->path, file)) {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
82 theme = thm;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
83 break;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
84 }
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
85 lst = lst->next;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
86 }
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
87
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
88 if (!theme) {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
89 theme = g_new0(struct smiley_theme, 1);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
90 theme->path = g_strdup(file);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
91 smiley_themes = g_slist_append(smiley_themes, theme);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
92 }
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
93
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
94 dirname = g_path_get_dirname(file);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
95 if (load) {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
96 if (current_smiley_theme) {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
97 GSList *already_freed = NULL;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
98 struct smiley_list *wer = current_smiley_theme->list, *wer2;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
99 while (wer) {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
100 while (wer->smileys) {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
101 GtkIMHtmlSmiley *uio = wer->smileys->data;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
102 if (uio->icon)
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
103 g_object_unref(uio->icon);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
104 if (!g_slist_find(already_freed, uio->file)) {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
105 g_free(uio->file);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
106 already_freed = g_slist_append(already_freed, uio->file);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
107 }
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
108 g_free(uio->smile);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
109 g_free(uio);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
110 wer->smileys=g_slist_remove(wer->smileys, uio);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
111 }
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
112 wer2 = wer->next;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
113 g_free(wer->sml);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
114 g_free(wer);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
115 wer = wer2;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
116 }
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
117 current_smiley_theme->list = NULL;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
118 g_slist_free(already_freed);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
119 }
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
120 current_smiley_theme = theme;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
121 }
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
122
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
123
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
124 while (!feof(f)) {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
125 if (!fgets(buf, sizeof(buf), f)) {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
126 break;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
127 }
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
128
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
129 if (buf[0] == '#' || buf[0] == '\0')
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
130 continue;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
131
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
132 i = buf;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
133 while (isspace(*i))
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
134 i++;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
135
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
136 if (*i == '[' && strchr(i, ']') && load) {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
137 struct smiley_list *child = g_new0(struct smiley_list, 1);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
138 child->sml = g_strndup(i+1, strchr(i, ']') - i - 1);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
139 if (theme->list)
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
140 list->next = child;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
141 else
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
142 theme->list = child;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
143 list = child;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
144 } else if (!g_ascii_strncasecmp(i, "Name=", strlen("Name="))) {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
145 if(theme->name)
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
146 g_free(theme->name);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
147 theme->name = g_strdup(i+ strlen("Name="));
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
148 theme->name[strlen(theme->name)-1] = 0;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
149 } else if (!g_ascii_strncasecmp(i, "Description=", strlen("Description="))) {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
150 if(theme->desc)
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
151 g_free(theme->desc);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
152 theme->desc = g_strdup(i + strlen("Description="));
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
153 theme->desc[strlen(theme->desc)-1] = 0;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
154 } else if (!g_ascii_strncasecmp(i, "Icon=", strlen("Icon="))) {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
155 if(theme->icon)
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
156 g_free(theme->icon);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
157 theme->icon = g_build_filename(dirname, i + strlen("Icon="), NULL);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
158 theme->icon[strlen(theme->icon)-1] = 0;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
159 } else if (!g_ascii_strncasecmp(i, "Author=", strlen("Author="))) {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
160 if(theme->author)
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
161 g_free(theme->author);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
162 theme->author = g_strdup(i + strlen("Author="));
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
163 theme->author[strlen(theme->author)-1] = 0;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
164 } else if (load && list) {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
165 gboolean hidden = FALSE;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
166 char *sfile = NULL;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
167
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
168 if (*i == '!' && *(i + 1) == ' ') {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
169 hidden = TRUE;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
170 i = i + 2;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
171 }
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
172 while (*i) {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
173 char l[64];
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
174 int li = 0;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
175 while (!isspace(*i))
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
176 l[li++] = *(i++);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
177 if (!sfile) {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
178 l[li] = 0;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
179 sfile = g_build_filename(dirname, l, NULL);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
180 } else {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
181 GtkIMHtmlSmiley *smiley = g_new0(GtkIMHtmlSmiley, 1);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
182 l[li] = 0;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
183 smiley->file = sfile;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
184 smiley->smile = g_strdup(l);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
185 smiley->hidden = hidden;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
186 list->smileys = g_slist_append(list->smileys, smiley);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
187 }
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
188 while (isspace(*i))
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
189 i++;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
190
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
191 }
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
192 }
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
193 }
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
194
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
195 if (load) {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
196 GList *cnv;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
197
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
198 for (cnv = gaim_get_conversations(); cnv != NULL; cnv = cnv->next) {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
199 GaimConversation *conv = cnv->data;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
200
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
201 if (GAIM_IS_GTK_CONVERSATION(conv)) {
11525
1d06283bdcc9 [gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 10589
diff changeset
202 gaim_gtkthemes_smiley_themeize(GAIM_GTK_CONVERSATION(conv)->imhtml);
1d06283bdcc9 [gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 10589
diff changeset
203 gaim_gtkthemes_smiley_themeize(GAIM_GTK_CONVERSATION(conv)->entry);
10295
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
204 }
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
205 }
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
206 }
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
207
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
208 g_free(dirname);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
209 fclose(f);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
210 }
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
211
11525
1d06283bdcc9 [gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 10589
diff changeset
212 void gaim_gtkthemes_smiley_theme_probe()
10295
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
213 {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
214 GDir *dir;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
215 const gchar *file;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
216 gchar *path;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
217 int l;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
218
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
219 char* probedirs[3];
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
220 probedirs[0] = g_build_filename(DATADIR, "pixmaps", "gaim", "smileys", NULL);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
221 probedirs[1] = g_build_filename(gaim_user_dir(), "smileys", NULL);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
222 probedirs[2] = 0;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
223 for (l=0; probedirs[l]; l++) {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
224 dir = g_dir_open(probedirs[l], 0, NULL);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
225 if (dir) {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
226 while ((file = g_dir_read_name(dir))) {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
227 path = g_build_filename(probedirs[l], file, "theme", NULL);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
228
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
229 /* Here we check to see that the theme has proper syntax.
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
230 * We set the second argument to FALSE so that it doesn't load
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
231 * the theme yet.
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
232 */
11525
1d06283bdcc9 [gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 10589
diff changeset
233 gaim_gtkthemes_load_smiley_theme(path, FALSE);
10295
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
234 g_free(path);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
235 }
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
236 g_dir_close(dir);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
237 } else if (l == 1) {
10589
4e10236e06d4 [gaim-migrate @ 11994]
Daniel Atallah <datallah@pidgin.im>
parents: 10295
diff changeset
238 g_mkdir(probedirs[l], S_IRUSR | S_IWUSR | S_IXUSR);
10295
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
239 }
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
240 g_free(probedirs[l]);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
241 }
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
242 }
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
243
11525
1d06283bdcc9 [gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 10589
diff changeset
244 GSList *gaim_gtkthemes_get_proto_smileys(const char *id) {
10295
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
245 GaimPlugin *proto;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
246 struct smiley_list *list, *def;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
247
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
248 if ((current_smiley_theme == NULL) || (current_smiley_theme->list == NULL))
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
249 return NULL;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
250
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
251 def = list = current_smiley_theme->list;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
252
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
253 if (id == NULL)
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
254 return def->smileys;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
255
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
256 proto = gaim_find_prpl(id);
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
257
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
258 while (list) {
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
259 if (!strcmp(list->sml, "default"))
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
260 def = list;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
261 else if (proto && !strcmp(proto->info->name, list->sml))
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
262 break;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
263
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
264 list = list->next;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
265 }
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
266
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
267 return list ? list->smileys : def->smileys;
99ed714c92f3 [gaim-migrate @ 11474]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
268 }
11525
1d06283bdcc9 [gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 10589
diff changeset
269
1d06283bdcc9 [gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 10589
diff changeset
270 void gaim_gtkthemes_init()
1d06283bdcc9 [gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 10589
diff changeset
271 {
11557
7a20e7fb7915 [gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents: 11525
diff changeset
272 GSList *l;
7a20e7fb7915 [gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents: 11525
diff changeset
273 const char *current_theme =
7a20e7fb7915 [gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents: 11525
diff changeset
274 gaim_prefs_get_string("/gaim/gtk/smileys/theme");
7a20e7fb7915 [gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents: 11525
diff changeset
275
7a20e7fb7915 [gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents: 11525
diff changeset
276 gaim_gtkthemes_smiley_theme_probe();
7a20e7fb7915 [gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents: 11525
diff changeset
277
7a20e7fb7915 [gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents: 11525
diff changeset
278 for (l = smiley_themes; l; l = l->next) {
7a20e7fb7915 [gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents: 11525
diff changeset
279 struct smiley_theme *smile = l->data;
7a20e7fb7915 [gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents: 11525
diff changeset
280 if (smile->name && strcmp(current_theme, smile->name) == 0) {
11525
1d06283bdcc9 [gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 10589
diff changeset
281 gaim_gtkthemes_load_smiley_theme(smile->path, TRUE);
11557
7a20e7fb7915 [gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents: 11525
diff changeset
282 break;
11525
1d06283bdcc9 [gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 10589
diff changeset
283 }
1d06283bdcc9 [gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 10589
diff changeset
284 }
11557
7a20e7fb7915 [gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents: 11525
diff changeset
285
7a20e7fb7915 [gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents: 11525
diff changeset
286 /* If we still don't have a smiley theme, choose the first one */
7a20e7fb7915 [gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents: 11525
diff changeset
287 if (!current_smiley_theme && smiley_themes) {
7a20e7fb7915 [gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents: 11525
diff changeset
288 struct smiley_theme *smile = smiley_themes->data;
7a20e7fb7915 [gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents: 11525
diff changeset
289 gaim_gtkthemes_load_smiley_theme(smile->path, TRUE);
7a20e7fb7915 [gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents: 11525
diff changeset
290 }
7a20e7fb7915 [gaim-migrate @ 13819]
Daniel Atallah <datallah@pidgin.im>
parents: 11525
diff changeset
291
11525
1d06283bdcc9 [gaim-migrate @ 13773]
Francesco Fracassi <ffracassi@users.sourceforge.net>
parents: 10589
diff changeset
292 }

mercurial