Mercurial > pidgin.yaz
annotate pidgin/gtkblist-theme-loader.c @ 31779:3eaf954631fa
Add a hint to translators on how to translate this string. Italian and
French had translated it the same as the "Close" button, which resulted
in two "Close" buttons on the "You have pounced" dialog. Refs #11920
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Thu, 10 Mar 2011 09:50:43 +0000 |
parents | a8cc50c2279f |
children |
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 |
29377
57ae03fdb86f
Fix uninitialized use of these colors, now that they're pointers.
Paul Aurich <paul@darkrain42.org>
parents:
29362
diff
changeset
|
102 bgcolor = expanded_bgcolor = collapsed_bgcolor = contact_color = NULL; |
26775
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
103 expanded = NULL; |
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
104 collapsed = NULL; |
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
105 contact = NULL; |
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
106 online = NULL; |
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
107 away = NULL; |
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
108 offline = NULL; |
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
109 idle = NULL; |
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
110 message = NULL; |
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
111 message_nick_said = NULL; |
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
112 status = NULL; |
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
113 |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
114 /* Find the theme file */ |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
115 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
|
116 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
|
117 |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
118 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
|
119 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
|
120 |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
121 g_free(filename_full); |
27284
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
122 if (root_node == NULL) |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
123 return NULL; |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
124 |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
125 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
|
126 data = xmlnode_get_data(sub_node); |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
127 |
27284
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
128 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
|
129 |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
130 /* <blist> */ |
27284
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
131 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
|
132 |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
133 if (!success) |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
134 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
|
135 |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
136 if (success) { |
29362
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
137 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
|
138 bgcolor = parse_color(sub_node, "color"); |
31534
a8cc50c2279f
Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents:
29377
diff
changeset
|
139 else |
29362
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
140 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
|
141 } |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
142 |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
143 /* <groups> */ |
27284
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
144 if (success) { |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
145 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
|
146 && (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
|
147 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
|
148 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
|
149 } else |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
150 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
|
151 } |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
152 |
27284
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
153 if (success) { |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
154 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
|
155 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
|
156 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
|
157 } else |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
158 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
|
159 } |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
160 |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
161 /* <buddys> */ |
27284
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
162 if (success) { |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
163 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
|
164 (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
|
165 |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
166 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
|
167 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
|
168 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
|
169 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
|
170 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
|
171 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
|
172 |
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
173 } 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
|
174 } |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
175 |
27284
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
176 if (success) { |
29362
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
177 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
|
178 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
|
179 else |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
180 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
|
181 } |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
182 |
26654
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
183 for (i = 0; success && lookups[i].tag; i++) { |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
184 if ((success = (sub_node != NULL && |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
185 (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
|
186 *(lookups[i].font) = pidgin_theme_font_parse(sub_sub_node); |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
187 } else { |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
188 *(lookups[i].font) = NULL; |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
189 } |
25268
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 |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
192 /* 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
|
193 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
|
194 |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
195 /* the new theme */ |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
196 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
|
197 "type", "blist", |
27284
9ad4b5200f24
Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
26775
diff
changeset
|
198 "name", name, |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
199 "author", xmlnode_get_attrib(root_node, "author"), |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
200 "image", xmlnode_get_attrib(root_node, "image"), |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
201 "directory", dir, |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
202 "description", data, |
29362
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
203 "background-color", bgcolor, |
26636
548871664d3b
PidginBlistTheme now copies all its parameters instead of taking ownership.
Paul Aurich <paul@darkrain42.org>
parents:
26632
diff
changeset
|
204 "layout", &layout, |
29362
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
205 "expanded-color", expanded_bgcolor, |
26654
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
206 "expanded-text", expanded, |
29362
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
207 "collapsed-color", collapsed_bgcolor, |
26654
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
208 "collapsed-text", collapsed, |
29362
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
209 "contact-color", contact_color, |
26654
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
210 "contact", contact, |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
211 "online", online, |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
212 "away", away, |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
213 "offline", offline, |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
214 "idle", idle, |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
215 "message", message, |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
216 "message_nick_said", message_nick_said, |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
217 "status", status, NULL); |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
218 |
26654
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
219 for (i = 0; lookups[i].tag; i++) { |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
220 if (*lookups[i].font) { |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
221 pidgin_theme_font_free(*lookups[i].font); |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
222 } |
f099e7f2739c
Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
26636
diff
changeset
|
223 } |
26775
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
224 |
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
225 pidgin_theme_font_free(expanded); |
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
226 pidgin_theme_font_free(collapsed); |
46b1d6eca6ef
Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents:
26654
diff
changeset
|
227 |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
228 xmlnode_free(root_node); |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
229 g_free(data); |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
230 |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
231 /* 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
|
232 if (!success) { |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
233 g_object_unref(theme); |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
234 theme = NULL; |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
235 } |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
236 |
29362
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
237 if (bgcolor) |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
238 gdk_color_free(bgcolor); |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
239 if (expanded_bgcolor) |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
240 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
|
241 if (collapsed_bgcolor) |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
242 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
|
243 if (contact_color) |
1956b27ed87c
blist theme: Do not treat missing colors as black.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
27298
diff
changeset
|
244 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
|
245 |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
246 return PURPLE_THEME(theme); |
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 |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
249 /****************************************************************************** |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
250 * GObject Stuff |
25268
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 |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
253 static void |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
254 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
|
255 { |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
256 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
|
257 |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
258 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
|
259 } |
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
260 |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
261 GType |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
262 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
|
263 { |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
264 static GType type = 0; |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
265 if (type == 0) { |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
266 static const GTypeInfo info = { |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
267 sizeof(PidginBlistThemeLoaderClass), |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
268 NULL, /* base_init */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
269 NULL, /* base_finalize */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
270 (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
|
271 NULL, /* class_finalize */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
272 NULL, /* class_data */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
273 sizeof(PidginBlistThemeLoader), |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
274 0, /* n_preallocs */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
275 NULL, /* instance_init */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
276 NULL, /* value table */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
277 }; |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
278 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
|
279 "PidginBlistThemeLoader", &info, 0); |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
280 } |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25389
diff
changeset
|
281 return type; |
25268
7ddaa405936e
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
282 } |