Mercurial > pidgin.yaz
annotate libpurple/theme-loader.c @ 23454:0ece981e44f5
Fixed theme-manager to be more of a singleton and less-gobject like
author | Justin Rodriguez <ffdragon@soc.pidgin.im> |
---|---|
date | Wed, 11 Jun 2008 03:41:35 +0000 |
parents | 6356f402079c |
children | c1cabd5eb625 |
rev | line source |
---|---|
23452
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
1 /* |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
2 * ThemeLoaders for LibPurple |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
3 * |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
4 * Pidgin is the legal property of its developers, whose names are too numerous |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
5 * to list here. Please refer to the COPYRIGHT file distributed with this |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
6 * source distribution. |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
7 * |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
8 * This program is free software; you can redistribute it and/or modify |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
9 * it under the terms of the GNU General Public License as published by |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
10 * the Free Software Foundation; either version 2 of the License, or |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
11 * (at your option) any later version. |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
12 * |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
13 * This program is distributed in the hope that it will be useful, |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
16 * GNU General Public License for more details. |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
17 * |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
18 * You should have received a copy of the GNU General Public License |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
19 * along with this program; if not, write to the Free Software |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
21 * |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
22 */ |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
23 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
24 #include "theme-loader.h" |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
25 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
26 #define PURPLE_THEME_LOADER_GET_PRIVATE(PurpleThemeLoader) \ |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
27 ((PurpleThemeLoaderPrivate *) ((PurpleThemeLoader)->priv)) |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
28 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
29 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
30 /****************************************************************************** |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
31 * Structs |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
32 *****************************************************************************/ |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
33 typedef struct { |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
34 gchar *type; |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
35 } PurpleThemeLoaderPrivate; |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
36 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
37 /****************************************************************************** |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
38 * Globals |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
39 *****************************************************************************/ |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
40 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
41 /****************************************************************************** |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
42 * Enums |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
43 *****************************************************************************/ |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
44 #define PROP_TYPE_S "type" |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
45 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
46 enum { |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
47 PROP_ZERO = 0, |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
48 PROP_TYPE, |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
49 }; |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
50 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
51 /****************************************************************************** |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
52 * GObject Stuff * |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
53 *****************************************************************************/ |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
54 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
55 static void |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
56 purple_theme_loader_get_property(GObject *obj, guint param_id, GValue *value, |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
57 GParamSpec *psec) |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
58 { |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
59 PurpleThemeLoader *theme_loader = PURPLE_THEME_LOADER(obj); |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
60 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
61 switch(param_id) { |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
62 case PROP_TYPE: |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
63 g_value_set_string(value, purple_theme_loader_get_type_string(theme_loader)); |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
64 default: |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
65 G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, psec); |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
66 break; |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
67 } |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
68 } |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
69 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
70 static void |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
71 purple_theme_loader_class_init (PurpleThemeLoaderClass *klass) |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
72 { |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
73 GObjectClass *obj_class = G_OBJECT_CLASS(klass); |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
74 GParamSpec *pspec; |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
75 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
76 /* 2.4 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
77 * g_type_class_add_private(klass, sizeof(PurpleThemePrivate)); */ |
23453
6356f402079c
Added the theme-manager and basic functionality (needs to be given proper directories to find themes)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23452
diff
changeset
|
78 |
23452
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
79 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
80 obj_class->get_property = purple_theme_loader_get_property; |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
81 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
82 /* TYPE STRING (read only) */ |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
83 pspec = g_param_spec_string(PROP_TYPE_S, "Type", |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
84 "The string represtenting the type of the theme", |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
85 NULL, |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
86 G_PARAM_READABLE | G_PARAM_CONSTRUCT_ONLY); |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
87 g_object_class_install_property(obj_class, PROP_TYPE, pspec); |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
88 } |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
89 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
90 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
91 GType |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
92 purple_theme_loader_get_type (void) |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
93 { |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
94 static GType type = 0; |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
95 if (type == 0) { |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
96 static const GTypeInfo info = { |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
97 sizeof (PurpleThemeLoaderClass), |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
98 NULL, /* base_init */ |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
99 NULL, /* base_finalize */ |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
100 (GClassInitFunc)purple_theme_loader_class_init, /* class_init */ |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
101 NULL, /* class_finalize */ |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
102 NULL, /* class_data */ |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
103 sizeof (PurpleThemeLoader), |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
104 0, /* n_preallocs */ |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
105 NULL, /* instance_init */ |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
106 NULL, /* value table */ |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
107 }; |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
108 type = g_type_register_static (G_TYPE_OBJECT, |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
109 "PurpleThemeLoaderType", |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
110 &info, G_TYPE_FLAG_ABSTRACT); |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
111 } |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
112 return type; |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
113 } |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
114 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
115 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
116 /***************************************************************************** |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
117 * Public API functions * |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
118 *****************************************************************************/ |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
119 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
120 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
121 gchar * |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
122 purple_theme_loader_get_type_string (PurpleThemeLoader *theme_loader) |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
123 { |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
124 PurpleThemeLoaderPrivate *priv = NULL; |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
125 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
126 g_return_val_if_fail(PURPLE_IS_THEME_LOADER(theme_loader), NULL); |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
127 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
128 priv = PURPLE_THEME_LOADER_GET_PRIVATE(theme_loader); |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
129 return priv->type; |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
130 } |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
131 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
132 PurpleTheme * |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
133 purple_theme_loader_build (PurpleThemeLoader *loader, const gchar *dir) |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
134 { |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
135 return PURPLE_THEME_LOADER_GET_CLASS(loader)->_purple_theme_loader_build(dir); |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
136 } |