Mercurial > pidgin.yaz
annotate pidgin/gtkblist-theme-loader.c @ 29368:746bf7d8b34e
Combine the CurrentMedia and MsnUserPhoneInfo structs. This makes
MsnUser smaller by the size of one pointer.
Since both of these structs are used only rarely, this ends up saving
memory for most people.
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Fri, 05 Feb 2010 02:19:22 +0000 |
parents | 1956b27ed87c |
children | 57ae03fdb86f |
rev | line source |
---|---|
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
1 /* |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
2 * GTKBlistThemeLoader for Pidgin |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
3 * |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
4 * Pidgin is the legal property of its developers, whose names are too numerous |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
5 * to list here. Please refer to the COPYRIGHT file distributed with this |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
6 * source distribution. |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
7 * |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
8 * This program is free software; you can redistribute it and/or modify |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
9 * it under the terms of the GNU General Public License as published by |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
10 * the Free Software Foundation; either version 2 of the License, or |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
11 * (at your option) any later version. |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
12 * |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
13 * This program is distributed in the hope that it will be useful, |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
16 * GNU General Public License for more details. |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
17 * |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
18 * You should have received a copy of the GNU General Public License |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
19 * along with this program; if not, write to the Free Software |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
21 */ |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
22 |
27298
f1385d462205
Fix win32 compile
Daniel Atallah <daniel.atallah@gmail.com>
parents:
27286
diff
changeset
|
23 #include "internal.h" |
f1385d462205
Fix win32 compile
Daniel Atallah <daniel.atallah@gmail.com>
parents:
27286
diff
changeset
|
24 |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
25 #include <stdlib.h> |
26636
548871664d3b
PidginBlistTheme now copies all its parameters instead of taking ownership.
Paul Aurich <paul@darkrain42.org>
parents:
26632
diff
changeset
|
26 #include <string.h> |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
27 |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
28 #include "xmlnode.h" |
27284
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
29 #include "debug.h" |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
30 #include "util.h" |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
31 |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
32 #include "gtkblist-theme-loader.h" |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
33 #include "gtkblist-theme.h" |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
34 |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
35 /****************************************************************************** |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
36 * Globals |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
37 *****************************************************************************/ |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
38 |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
39 #define DEFAULT_TEXT_COLOR "black" |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
40 |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
41 /***************************************************************************** |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
42 * Buddy List Theme Builder |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
43 *****************************************************************************/ |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
44 |
26654
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
45 static PidginThemeFont * |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
46 pidgin_theme_font_parse(xmlnode *node) |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
47 { |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
48 const char *font; |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
49 const char *colordesc; |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
50 GdkColor color; |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
51 |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
52 font = xmlnode_get_attrib(node, "font"); |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
53 |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
54 if ((colordesc = xmlnode_get_attrib(node, "color")) == NULL || |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
55 !gdk_color_parse(colordesc, &color)) |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
56 gdk_color_parse(DEFAULT_TEXT_COLOR, &color); |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
57 |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
58 return pidgin_theme_font_new(font, &color); |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
59 } |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
60 |
29362
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
61 static GdkColor * |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
62 parse_color(xmlnode *node, const char *tag) |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
63 { |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
64 const char *temp = xmlnode_get_attrib(node, tag); |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
65 GdkColor color; |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
66 |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
67 if (temp && gdk_color_parse(temp, &color)) { |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
68 gdk_colormap_alloc_color(gdk_colormap_get_system(), &color, FALSE, TRUE); |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
69 return gdk_color_copy(&color); |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
70 } else { |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
71 return NULL; |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
72 } |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
73 } |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
74 |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
75 static PurpleTheme * |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
76 pidgin_blist_loader_build(const gchar *dir) |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
77 { |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
78 xmlnode *root_node = NULL, *sub_node, *sub_sub_node; |
27284
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
79 gchar *filename_full, *data = NULL; |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
80 const gchar *temp, *name; |
25389
dc2584ebaa1a
Adding the patch to extend the blist theme to allow coloring of chat nodes with unread messages mentioning your nick.
Paul Aurich <paul@darkrain42.org>
parents:
25268
diff
changeset
|
81 gboolean success = TRUE; |
29362
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
82 GdkColor *bgcolor, *expanded_bgcolor, *collapsed_bgcolor, *contact_color; |
26654
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
83 PidginThemeFont *expanded, *collapsed, *contact, *online, *away, *offline, *idle, *message, *message_nick_said, *status; |
26636
548871664d3b
PidginBlistTheme now copies all its parameters instead of taking ownership.
Paul Aurich <paul@darkrain42.org>
parents:
26632
diff
changeset
|
84 PidginBlistLayout layout; |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
85 PidginBlistTheme *theme; |
26654
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
86 int i; |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
87 struct { |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
88 const char *tag; |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
89 PidginThemeFont **font; |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
90 } lookups[] = { |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
91 {"contact_text", &contact}, |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
92 {"online_text", &online}, |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
93 {"away_text", &away}, |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
94 {"offline_text", &offline}, |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
95 {"idle_text", &idle}, |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
96 {"message_text", &message}, |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
97 {"message_nick_said_text", &message_nick_said}, |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
98 {"status_text", &status}, |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
99 {NULL, NULL} |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
100 }; |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
101 |
26775
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
102 expanded = NULL; |
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
103 collapsed = NULL; |
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
104 contact = NULL; |
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
105 online = NULL; |
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
106 away = NULL; |
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
107 offline = NULL; |
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
108 idle = NULL; |
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
109 message = NULL; |
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
110 message_nick_said = NULL; |
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
111 status = NULL; |
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
112 |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
113 /* Find the theme file */ |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
114 g_return_val_if_fail(dir != NULL, NULL); |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
115 filename_full = g_build_filename(dir, "theme.xml", NULL); |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
116 |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
117 if (g_file_test(filename_full, G_FILE_TEST_IS_REGULAR)) |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
118 root_node = xmlnode_from_file(dir, "theme.xml", "buddy list themes", "blist-loader"); |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
119 |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
120 g_free(filename_full); |
27284
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
121 if (root_node == NULL) |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
122 return NULL; |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
123 |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
124 sub_node = xmlnode_get_child(root_node, "description"); |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
125 data = xmlnode_get_data(sub_node); |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
126 |
27284
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
127 name = xmlnode_get_attrib(root_node, "name"); |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
128 |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
129 /* <blist> */ |
27284
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
130 success = name && purple_strequal(xmlnode_get_attrib(root_node, "type"), "pidgin buddy list"); |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
131 |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
132 if (!success) |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
133 purple_debug_warning("gtkblist-theme-loader", "Missing attribute or problem with the root element\n"); |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
134 |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
135 if (success) { |
29362
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
136 if ((success = (sub_node = xmlnode_get_child(root_node, "blist")) != NULL)) |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
137 bgcolor = parse_color(sub_node, "color"); |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
138 else |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
139 purple_debug_warning("gtkblist-theme-loader", "Missing or problem with tags: <blist>.\n"); |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
140 } |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
141 |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
142 /* <groups> */ |
27284
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
143 if (success) { |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
144 if ((success = (sub_node = xmlnode_get_child(root_node, "groups")) != NULL |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
145 && (sub_sub_node = xmlnode_get_child(sub_node, "expanded")) != NULL)) { |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
146 expanded = pidgin_theme_font_parse(sub_sub_node); |
29362
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
147 expanded_bgcolor = parse_color(sub_sub_node, "background"); |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
148 } else |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
149 purple_debug_warning("gtkblist-theme-loader", "Missing or problem with tags: <groups> <expanded>.\n"); |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
150 } |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
151 |
27284
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
152 if (success) { |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
153 if ((success = sub_node != NULL && (sub_sub_node = xmlnode_get_child(sub_node, "collapsed")) != NULL)) { |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
154 collapsed = pidgin_theme_font_parse(sub_sub_node); |
29362
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
155 collapsed_bgcolor = parse_color(sub_sub_node, "background"); |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
156 } else |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
157 purple_debug_warning("gtkblist-theme-loader", "Missing or problem with tags: <groups> <collapsed>.\n"); |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
158 } |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
159 |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
160 /* <buddys> */ |
27284
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
161 if (success) { |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
162 if ((success = (sub_node = xmlnode_get_child(root_node, "buddys")) != NULL && |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
163 (sub_sub_node = xmlnode_get_child(sub_node, "placement")) != NULL)) { |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
164 |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
165 layout.status_icon = (temp = xmlnode_get_attrib(sub_sub_node, "status_icon")) != NULL ? atoi(temp) : 0; |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
166 layout.text = (temp = xmlnode_get_attrib(sub_sub_node, "name")) != NULL ? atoi(temp) : 1; |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
167 layout.emblem = (temp = xmlnode_get_attrib(sub_sub_node, "emblem")) != NULL ? atoi(temp) : 2; |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
168 layout.protocol_icon = (temp = xmlnode_get_attrib(sub_sub_node, "protocol_icon")) != NULL ? atoi(temp) : 3; |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
169 layout.buddy_icon = (temp = xmlnode_get_attrib(sub_sub_node, "buddy_icon")) != NULL ? atoi(temp) : 4; |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
170 layout.show_status = (temp = xmlnode_get_attrib(sub_sub_node, "status_icon")) != NULL ? atoi(temp) != 0 : 1; |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
171 |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
172 } else purple_debug_warning("gtkblist-theme-loader", "Missing or problem with tags: <buddys> <placement>.\n"); |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
173 } |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
174 |
27284
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
175 if (success) { |
29362
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
176 if ((success = (sub_node != NULL && (sub_sub_node = xmlnode_get_child(sub_node, "background")) != NULL))) |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
177 contact_color = parse_color(sub_sub_node, "color"); |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
178 else |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
179 purple_debug_warning("gtkblist-theme-loader", "Missing or problem with tags: <buddys> <background>.\n"); |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
180 } |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
181 |
26654
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
182 for (i = 0; success && lookups[i].tag; i++) { |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
183 if ((success = (sub_node != NULL && |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
184 (sub_sub_node = xmlnode_get_child(sub_node, lookups[i].tag)) != NULL))) { |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
185 *(lookups[i].font) = pidgin_theme_font_parse(sub_sub_node); |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
186 } else { |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
187 *(lookups[i].font) = NULL; |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
188 } |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
189 } |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
190 |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
191 /* name is required for theme manager */ |
25389
dc2584ebaa1a
Adding the patch to extend the blist theme to allow coloring of chat nodes with unread messages mentioning your nick.
Paul Aurich <paul@darkrain42.org>
parents:
25268
diff
changeset
|
192 success = (success && xmlnode_get_attrib(root_node, "name") != NULL); |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
193 |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
194 /* the new theme */ |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
195 theme = g_object_new(PIDGIN_TYPE_BLIST_THEME, |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
196 "type", "blist", |
27284
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
197 "name", name, |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
198 "author", xmlnode_get_attrib(root_node, "author"), |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
199 "image", xmlnode_get_attrib(root_node, "image"), |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
200 "directory", dir, |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
201 "description", data, |
29362
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
202 "background-color", bgcolor, |
26636
548871664d3b
PidginBlistTheme now copies all its parameters instead of taking ownership.
Paul Aurich <paul@darkrain42.org>
parents:
26632
diff
changeset
|
203 "layout", &layout, |
29362
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
204 "expanded-color", expanded_bgcolor, |
26654
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
205 "expanded-text", expanded, |
29362
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
206 "collapsed-color", collapsed_bgcolor, |
26654
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
207 "collapsed-text", collapsed, |
29362
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
208 "contact-color", contact_color, |
26654
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
209 "contact", contact, |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
210 "online", online, |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
211 "away", away, |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
212 "offline", offline, |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
213 "idle", idle, |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
214 "message", message, |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
215 "message_nick_said", message_nick_said, |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
216 "status", status, NULL); |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
217 |
26654
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
218 for (i = 0; lookups[i].tag; i++) { |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
219 if (*lookups[i].font) { |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
220 pidgin_theme_font_free(*lookups[i].font); |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
221 } |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
222 } |
26775
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
223 |
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
224 pidgin_theme_font_free(expanded); |
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
225 pidgin_theme_font_free(collapsed); |
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
226 |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
227 xmlnode_free(root_node); |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
228 g_free(data); |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
229 |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
230 /* malformed xml file - also frees all partial data*/ |
25389
dc2584ebaa1a
Adding the patch to extend the blist theme to allow coloring of chat nodes with unread messages mentioning your nick.
Paul Aurich <paul@darkrain42.org>
parents:
25268
diff
changeset
|
231 if (!success) { |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
232 g_object_unref(theme); |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
233 theme = NULL; |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
234 } |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
235 |
29362
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
236 if (bgcolor) |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
237 gdk_color_free(bgcolor); |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
238 if (expanded_bgcolor) |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
239 gdk_color_free(expanded_bgcolor); |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
240 if (collapsed_bgcolor) |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
241 gdk_color_free(collapsed_bgcolor); |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
242 if (contact_color) |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
243 gdk_color_free(contact_color); |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
244 |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
245 return PURPLE_THEME(theme); |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
246 } |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
247 |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
248 /****************************************************************************** |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
249 * GObject Stuff |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
250 *****************************************************************************/ |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
251 |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
252 static void |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
253 pidgin_blist_theme_loader_class_init(PidginBlistThemeLoaderClass *klass) |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
254 { |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
255 PurpleThemeLoaderClass *loader_klass = PURPLE_THEME_LOADER_CLASS(klass); |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
256 |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
257 loader_klass->purple_theme_loader_build = pidgin_blist_loader_build; |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
258 } |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
259 |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
260 GType |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
261 pidgin_blist_theme_loader_get_type(void) |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
262 { |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
263 static GType type = 0; |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
264 if (type == 0) { |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
265 static const GTypeInfo info = { |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
266 sizeof(PidginBlistThemeLoaderClass), |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
267 NULL, /* base_init */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
268 NULL, /* base_finalize */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
269 (GClassInitFunc)pidgin_blist_theme_loader_class_init, /* class_init */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
270 NULL, /* class_finalize */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
271 NULL, /* class_data */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
272 sizeof(PidginBlistThemeLoader), |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
273 0, /* n_preallocs */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
274 NULL, /* instance_init */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
275 NULL, /* value table */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
276 }; |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
277 type = g_type_register_static(PURPLE_TYPE_THEME_LOADER, |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
278 "PidginBlistThemeLoader", &info, 0); |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
279 } |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
280 return type; |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
281 } |