annotate pidgin/gtkblist-theme-loader.c @ 27400:31534ae3406a

Moved functions around and made some no longer static. All the functions that are no longer static now have prototypes in libymsg.h. Moved the URI handling stuff to libyahoo.c since I removed the handling capability from libyahoojp.c. I still need to find out if Yahoo! JAPAN has its own URI scheme or not.
author John Bailey <rekkanoryo@rekkanoryo.org>
date Sun, 05 Jul 2009 23:56:07 +0000
parents f1385d462205
children 1956b27ed87c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
25268
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
61 static PurpleTheme *
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
62 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
63 {
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
64 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
65 gchar *filename_full, *data = NULL;
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
66 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
67 gboolean success = TRUE;
26636
548871664d3b PidginBlistTheme now copies all its parameters instead of taking ownership.
Paul Aurich <paul@darkrain42.org>
parents: 26632
diff changeset
68 GdkColor bgcolor, expanded_bgcolor, collapsed_bgcolor, contact_color;
26654
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
69 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
70 PidginBlistLayout layout;
25268
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
71 PidginBlistTheme *theme;
26654
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
72 int i;
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
73 struct {
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
74 const char *tag;
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
75 PidginThemeFont **font;
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
76 } lookups[] = {
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
77 {"contact_text", &contact},
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
78 {"online_text", &online},
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
79 {"away_text", &away},
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
80 {"offline_text", &offline},
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
81 {"idle_text", &idle},
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
82 {"message_text", &message},
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
83 {"message_nick_said_text", &message_nick_said},
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
84 {"status_text", &status},
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
85 {NULL, NULL}
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
86 };
25268
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
87
26775
46b1d6eca6ef Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents: 26654
diff changeset
88 expanded = NULL;
46b1d6eca6ef Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents: 26654
diff changeset
89 collapsed = NULL;
46b1d6eca6ef Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents: 26654
diff changeset
90 contact = NULL;
46b1d6eca6ef Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents: 26654
diff changeset
91 online = NULL;
46b1d6eca6ef Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents: 26654
diff changeset
92 away = NULL;
46b1d6eca6ef Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents: 26654
diff changeset
93 offline = NULL;
46b1d6eca6ef Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents: 26654
diff changeset
94 idle = NULL;
46b1d6eca6ef Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents: 26654
diff changeset
95 message = NULL;
46b1d6eca6ef Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents: 26654
diff changeset
96 message_nick_said = NULL;
46b1d6eca6ef Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents: 26654
diff changeset
97 status = NULL;
46b1d6eca6ef Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents: 26654
diff changeset
98
25268
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
99 /* Find the theme file */
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
100 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
101 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
102
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
103 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
104 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
105
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
106 g_free(filename_full);
27284
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
107 if (root_node == NULL)
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
108 return NULL;
25268
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
109
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
110 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
111 data = xmlnode_get_data(sub_node);
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
112
27284
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
113 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
114
25268
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
115 /* <blist> */
27284
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
116 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
117
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
118 if (!success)
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
119 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
120
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
121 if (success) {
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
122 if ((success = (sub_node = xmlnode_get_child(root_node, "blist")) != NULL)) {
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
123
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
124 if ((temp = xmlnode_get_attrib(sub_node, "color")) != NULL && gdk_color_parse(temp, &bgcolor))
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
125 gdk_colormap_alloc_color(gdk_colormap_get_system(), &bgcolor, FALSE, TRUE);
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
126 else
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
127 memset(&bgcolor, 0, sizeof(GdkColor));
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
128
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
129 } else 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
130 }
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
131
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
132 /* <groups> */
27284
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 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
135 && (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
136 expanded = pidgin_theme_font_parse(sub_sub_node);
25268
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
137
27284
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
138 if ((temp = xmlnode_get_attrib(sub_sub_node, "background")) != NULL && gdk_color_parse(temp, &expanded_bgcolor))
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
139 gdk_colormap_alloc_color(gdk_colormap_get_system(), &expanded_bgcolor, FALSE, TRUE);
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
140 else
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
141 memset(&expanded_bgcolor, 0, sizeof(GdkColor));
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
142
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
143 } else 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
144 }
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
145
27284
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
146 if (success) {
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
147 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
148
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
149 collapsed = pidgin_theme_font_parse(sub_sub_node);
25268
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
150
27284
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
151 if ((temp = xmlnode_get_attrib(sub_sub_node, "background")) != NULL && gdk_color_parse(temp, &collapsed_bgcolor))
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
152 gdk_colormap_alloc_color(gdk_colormap_get_system(), &collapsed_bgcolor, FALSE, TRUE);
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
153 else
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
154 memset(&collapsed_bgcolor, 0, sizeof(GdkColor));
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
155
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
156 } else 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
157 }
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 /* <buddys> */
27284
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
160 if (success) {
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
161 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
162 (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
163
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
164 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
165 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
166 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
167 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
168 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
169 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
170
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
171 } 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
172 }
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
173
27284
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
174 if (success) {
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
175 if ((success = (sub_node != NULL && (sub_sub_node = xmlnode_get_child(sub_node, "background")) != NULL))) {
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
176 if(gdk_color_parse(xmlnode_get_attrib(sub_sub_node, "color"), &contact_color))
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
177 gdk_colormap_alloc_color(gdk_colormap_get_system(), &contact_color, FALSE, TRUE);
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
178 else
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
179 memset(&contact_color, 0, sizeof(GdkColor));
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
180
27286
7685f06c7801 Fix a typo I spent way too long staring at.
Paul Aurich <paul@darkrain42.org>
parents: 27284
diff changeset
181 } else 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
182 }
25402
0c7b74fc558e Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents: 25389
diff changeset
183
26654
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
184 for (i = 0; success && lookups[i].tag; i++) {
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
185 if ((success = (sub_node != NULL &&
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
186 (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
187 *(lookups[i].font) = pidgin_theme_font_parse(sub_sub_node);
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
188 } else {
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
189 *(lookups[i].font) = NULL;
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
190 }
25268
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
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
193 /* 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
194 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
195
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
196 /* the new theme */
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
197 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
198 "type", "blist",
27284
9ad4b5200f24 Better error checking on the theme loaders.
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 26775
diff changeset
199 "name", name,
25402
0c7b74fc558e Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents: 25389
diff changeset
200 "author", xmlnode_get_attrib(root_node, "author"),
0c7b74fc558e Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents: 25389
diff changeset
201 "image", xmlnode_get_attrib(root_node, "image"),
0c7b74fc558e Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents: 25389
diff changeset
202 "directory", dir,
0c7b74fc558e Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents: 25389
diff changeset
203 "description", data,
26636
548871664d3b PidginBlistTheme now copies all its parameters instead of taking ownership.
Paul Aurich <paul@darkrain42.org>
parents: 26632
diff changeset
204 "background-color", &bgcolor,
548871664d3b PidginBlistTheme now copies all its parameters instead of taking ownership.
Paul Aurich <paul@darkrain42.org>
parents: 26632
diff changeset
205 "layout", &layout,
548871664d3b PidginBlistTheme now copies all its parameters instead of taking ownership.
Paul Aurich <paul@darkrain42.org>
parents: 26632
diff changeset
206 "expanded-color", &expanded_bgcolor,
26654
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
207 "expanded-text", expanded,
26636
548871664d3b PidginBlistTheme now copies all its parameters instead of taking ownership.
Paul Aurich <paul@darkrain42.org>
parents: 26632
diff changeset
208 "collapsed-color", &collapsed_bgcolor,
26654
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
209 "collapsed-text", collapsed,
26636
548871664d3b PidginBlistTheme now copies all its parameters instead of taking ownership.
Paul Aurich <paul@darkrain42.org>
parents: 26632
diff changeset
210 "contact-color", &contact_color,
26654
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
211 "contact", contact,
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
212 "online", online,
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
213 "away", away,
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
214 "offline", offline,
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
215 "idle", idle,
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
216 "message", message,
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
217 "message_nick_said", message_nick_said,
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
218 "status", status, NULL);
25268
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
219
26654
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
220 for (i = 0; lookups[i].tag; i++) {
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
221 if (*lookups[i].font) {
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
222 pidgin_theme_font_free(*lookups[i].font);
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
223 }
f099e7f2739c Several changes:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26636
diff changeset
224 }
26775
46b1d6eca6ef Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents: 26654
diff changeset
225
46b1d6eca6ef Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents: 26654
diff changeset
226 pidgin_theme_font_free(expanded);
46b1d6eca6ef Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents: 26654
diff changeset
227 pidgin_theme_font_free(collapsed);
46b1d6eca6ef Avoid dereferencing unitialized memory or leaking PidginThemeFonts
Paul Aurich <paul@darkrain42.org>
parents: 26654
diff changeset
228
25402
0c7b74fc558e Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents: 25389
diff changeset
229 xmlnode_free(root_node);
25268
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
230 g_free(data);
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
231
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
232 /* 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
233 if (!success) {
25268
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
234 g_object_unref(theme);
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
235 theme = NULL;
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
236 }
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
237
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
238 return PURPLE_THEME(theme);
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
239 }
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
240
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
241 /******************************************************************************
25402
0c7b74fc558e Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents: 25389
diff changeset
242 * GObject Stuff
25268
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
243 *****************************************************************************/
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
244
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
245 static void
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
246 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
247 {
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
248 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
249
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
250 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
251 }
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
252
25402
0c7b74fc558e Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents: 25389
diff changeset
253 GType
25268
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
254 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
255 {
25402
0c7b74fc558e Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents: 25389
diff changeset
256 static GType type = 0;
0c7b74fc558e Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents: 25389
diff changeset
257 if (type == 0) {
0c7b74fc558e Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents: 25389
diff changeset
258 static const GTypeInfo info = {
0c7b74fc558e Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents: 25389
diff changeset
259 sizeof(PidginBlistThemeLoaderClass),
0c7b74fc558e Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents: 25389
diff changeset
260 NULL, /* base_init */
0c7b74fc558e Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents: 25389
diff changeset
261 NULL, /* base_finalize */
0c7b74fc558e Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents: 25389
diff changeset
262 (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
263 NULL, /* class_finalize */
0c7b74fc558e Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents: 25389
diff changeset
264 NULL, /* class_data */
0c7b74fc558e Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents: 25389
diff changeset
265 sizeof(PidginBlistThemeLoader),
0c7b74fc558e Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents: 25389
diff changeset
266 0, /* n_preallocs */
0c7b74fc558e Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents: 25389
diff changeset
267 NULL, /* instance_init */
0c7b74fc558e Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents: 25389
diff changeset
268 NULL, /* value table */
0c7b74fc558e Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents: 25389
diff changeset
269 };
0c7b74fc558e Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents: 25389
diff changeset
270 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
271 "PidginBlistThemeLoader", &info, 0);
0c7b74fc558e Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents: 25389
diff changeset
272 }
0c7b74fc558e Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents: 25389
diff changeset
273 return type;
25268
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
274 }