Mercurial > pidgin.yaz
annotate libpurple/theme.c @ 29508:346d5ea00346
Making this minimum size slightly larger makes the MTN revision ID fit without
wrapping and won't hurt us any since it will still fit in the small screens
we get complaints about.
author | John Bailey <rekkanoryo@rekkanoryo.org> |
---|---|
date | Sat, 03 Oct 2009 18:49:54 +0000 |
parents | a444fe876e52 |
children | f1437342cc0e |
rev | line source |
---|---|
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
1 /* |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
2 * Themes for libpurple |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
3 * |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
4 * Pidgin is the legal property of its developers, whose names are too numerous |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
5 * to list here. Please refer to the COPYRIGHT file distributed with this |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
6 * source distribution. |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
7 * |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
8 * This program is free software; you can redistribute it and/or modify |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
9 * it under the terms of the GNU General Public License as published by |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
10 * the Free Software Foundation; either version 2 of the License, or |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
11 * (at your option) any later version. |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
12 * |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
13 * This program is distributed in the hope that it will be useful, |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
16 * GNU General Public License for more details. |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
17 * |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
18 * You should have received a copy of the GNU General Public License |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
19 * along with this program; if not, write to the Free Software |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
21 */ |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
22 |
25349
1eacf60a73dd
Fix some theme manager assertion failures.
Richard Laager <rlaager@wiktel.com>
parents:
23699
diff
changeset
|
23 #include <glib.h> |
1eacf60a73dd
Fix some theme manager assertion failures.
Richard Laager <rlaager@wiktel.com>
parents:
23699
diff
changeset
|
24 #include <string.h> |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
25 |
25349
1eacf60a73dd
Fix some theme manager assertion failures.
Richard Laager <rlaager@wiktel.com>
parents:
23699
diff
changeset
|
26 #include "internal.h" |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
27 #include "theme.h" |
23699
fc8047e1fa39
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23483
diff
changeset
|
28 #include "util.h" |
fc8047e1fa39
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23483
diff
changeset
|
29 |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
30 #define PURPLE_THEME_GET_PRIVATE(PurpleTheme) \ |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
31 ((PurpleThemePrivate *) ((PurpleTheme)->priv)) |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
32 |
23461
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
33 void purple_theme_set_type_string(PurpleTheme *theme, const gchar *type); |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
34 |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
35 /****************************************************************************** |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
36 * Structs |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
37 *****************************************************************************/ |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
38 |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
39 typedef struct { |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
40 gchar *name; |
23456
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23452
diff
changeset
|
41 gchar *description; |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
42 gchar *author; |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
43 gchar *type; |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
44 gchar *dir; |
23472
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23466
diff
changeset
|
45 gchar *img; |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
46 } PurpleThemePrivate; |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
47 |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
48 /****************************************************************************** |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
49 * Globals |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
50 *****************************************************************************/ |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
51 |
23461
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
52 static GObjectClass *parent_class = NULL; |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
53 |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
54 /****************************************************************************** |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
55 * Enums |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
56 *****************************************************************************/ |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
57 |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
58 enum { |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
59 PROP_ZERO = 0, |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
60 PROP_NAME, |
23483
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23472
diff
changeset
|
61 PROP_DESCRIPTION, |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
62 PROP_AUTHOR, |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
63 PROP_TYPE, |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
64 PROP_DIR, |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
65 PROP_IMAGE |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
66 }; |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
67 |
23452
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23451
diff
changeset
|
68 /****************************************************************************** |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
69 * GObject Stuff |
23452
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23451
diff
changeset
|
70 *****************************************************************************/ |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
71 |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
72 static void |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
73 purple_theme_get_property(GObject *obj, guint param_id, GValue *value, |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
74 GParamSpec *psec) |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
75 { |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
76 PurpleTheme *theme = PURPLE_THEME(obj); |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
77 |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
78 switch (param_id) { |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
79 case PROP_NAME: |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
80 g_value_set_string(value, purple_theme_get_name(theme)); |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
81 break; |
23483
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23472
diff
changeset
|
82 case PROP_DESCRIPTION: |
23456
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23452
diff
changeset
|
83 g_value_set_string(value, purple_theme_get_description(theme)); |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23452
diff
changeset
|
84 break; |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
85 case PROP_AUTHOR: |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
86 g_value_set_string(value, purple_theme_get_author(theme)); |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
87 break; |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
88 case PROP_TYPE: |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
89 g_value_set_string(value, purple_theme_get_type_string(theme)); |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
90 break; |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
91 case PROP_DIR: |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
92 g_value_set_string(value, purple_theme_get_dir(theme)); |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
93 break; |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
94 case PROP_IMAGE: |
23472
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23466
diff
changeset
|
95 g_value_set_string(value, purple_theme_get_image(theme)); |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
96 break; |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
97 default: |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
98 G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, psec); |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
99 break; |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
100 } |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
101 } |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
102 |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
103 static void |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
104 purple_theme_set_property(GObject *obj, guint param_id, const GValue *value, |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
105 GParamSpec *psec) |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
106 { |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
107 PurpleTheme *theme = PURPLE_THEME(obj); |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
108 |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
109 switch (param_id) { |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
110 case PROP_NAME: |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
111 purple_theme_set_name(theme, g_value_get_string(value)); |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
112 break; |
23483
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23472
diff
changeset
|
113 case PROP_DESCRIPTION: |
23456
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23452
diff
changeset
|
114 purple_theme_set_description(theme, g_value_get_string(value)); |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23452
diff
changeset
|
115 break; |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
116 case PROP_AUTHOR: |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
117 purple_theme_set_author(theme, g_value_get_string(value)); |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
118 break; |
23461
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
119 case PROP_TYPE: |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
120 purple_theme_set_type_string(theme, g_value_get_string(value)); |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
121 break; |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
122 case PROP_DIR: |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
123 purple_theme_set_dir(theme, g_value_get_string(value)); |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
124 break; |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
125 case PROP_IMAGE: |
23472
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23466
diff
changeset
|
126 purple_theme_set_image(theme, g_value_get_string(value)); |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
127 break; |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
128 default: |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
129 G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, psec); |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
130 break; |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
131 } |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
132 } |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
133 |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
134 static void |
23466
5a02912e0bac
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23465
diff
changeset
|
135 purple_theme_init(GTypeInstance *instance, |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
136 gpointer klass) |
23466
5a02912e0bac
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23465
diff
changeset
|
137 { |
23472
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23466
diff
changeset
|
138 PurpleTheme *theme = PURPLE_THEME(instance); |
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23466
diff
changeset
|
139 theme->priv = g_new0(PurpleThemePrivate, 1); |
23466
5a02912e0bac
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23465
diff
changeset
|
140 } |
5a02912e0bac
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23465
diff
changeset
|
141 |
5a02912e0bac
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23465
diff
changeset
|
142 static void |
23461
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
143 purple_theme_finalize(GObject *obj) |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
144 { |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
145 PurpleTheme *theme = PURPLE_THEME(obj); |
23461
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
146 PurpleThemePrivate *priv = PURPLE_THEME_GET_PRIVATE(theme); |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
147 |
23461
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
148 g_free(priv->name); |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
149 g_free(priv->description); |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
150 g_free(priv->author); |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
151 g_free(priv->type); |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
152 g_free(priv->dir); |
23472
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23466
diff
changeset
|
153 g_free(priv->img); |
23461
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
154 |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
155 G_OBJECT_CLASS (parent_class)->finalize (obj); |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
156 } |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
157 |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
158 static void |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
159 purple_theme_class_init(PurpleThemeClass *klass) |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
160 { |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
161 GObjectClass *obj_class = G_OBJECT_CLASS(klass); |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
162 GParamSpec *pspec; |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
163 |
23461
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
164 parent_class = g_type_class_peek_parent(klass); |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
165 |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
166 obj_class->get_property = purple_theme_get_property; |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
167 obj_class->set_property = purple_theme_set_property; |
23461
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
168 obj_class->finalize = purple_theme_finalize; |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
169 |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
170 /* NAME */ |
23466
5a02912e0bac
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23465
diff
changeset
|
171 pspec = g_param_spec_string("name", "Name", |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
172 "The name of the theme", |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
173 NULL, |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
174 G_PARAM_READWRITE | G_PARAM_CONSTRUCT); |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
175 g_object_class_install_property(obj_class, PROP_NAME, pspec); |
23483
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23472
diff
changeset
|
176 |
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23472
diff
changeset
|
177 /* DESCRIPTION */ |
23466
5a02912e0bac
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23465
diff
changeset
|
178 pspec = g_param_spec_string("description", "Description", |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
179 "The description of the theme", |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
180 NULL, |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
181 G_PARAM_READWRITE | G_PARAM_CONSTRUCT); |
23483
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23472
diff
changeset
|
182 g_object_class_install_property(obj_class, PROP_DESCRIPTION, pspec); |
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23472
diff
changeset
|
183 |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
184 /* AUTHOR */ |
23466
5a02912e0bac
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23465
diff
changeset
|
185 pspec = g_param_spec_string("author", "Author", |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
186 "The author of the theme", |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
187 NULL, |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
188 G_PARAM_READWRITE | G_PARAM_CONSTRUCT); |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
189 g_object_class_install_property(obj_class, PROP_AUTHOR, pspec); |
23483
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23472
diff
changeset
|
190 |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
191 /* TYPE STRING (read only) */ |
23466
5a02912e0bac
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23465
diff
changeset
|
192 pspec = g_param_spec_string("type", "Type", |
28520
a444fe876e52
Fix some typos.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27129
diff
changeset
|
193 "The string representing the type of the theme", |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
194 NULL, |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
195 G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY); |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
196 g_object_class_install_property(obj_class, PROP_TYPE, pspec); |
23483
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23472
diff
changeset
|
197 |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
198 /* DIRECTORY */ |
23466
5a02912e0bac
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23465
diff
changeset
|
199 pspec = g_param_spec_string("directory", "Directory", |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
200 "The directory that contains the theme and all its files", |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
201 NULL, |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
202 G_PARAM_READWRITE | G_PARAM_CONSTRUCT); |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
203 g_object_class_install_property(obj_class, PROP_DIR, pspec); |
23483
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23472
diff
changeset
|
204 |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
205 /* PREVIEW IMAGE */ |
23472
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23466
diff
changeset
|
206 pspec = g_param_spec_string("image", "Image", |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
207 "A preview image of the theme", |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
208 NULL, |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
209 G_PARAM_READWRITE); |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
210 g_object_class_install_property(obj_class, PROP_IMAGE, pspec); |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
211 } |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
212 |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
213 |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
214 GType |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
215 purple_theme_get_type(void) |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
216 { |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
217 static GType type = 0; |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
218 if (type == 0) { |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
219 static const GTypeInfo info = { |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
220 sizeof(PurpleThemeClass), |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
221 NULL, /* base_init */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
222 NULL, /* base_finalize */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
223 (GClassInitFunc)purple_theme_class_init, /* class_init */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
224 NULL, /* class_finalize */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
225 NULL, /* class_data */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
226 sizeof(PurpleTheme), |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
227 0, /* n_preallocs */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
228 purple_theme_init, /* instance_init */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
229 NULL, /* value table */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
230 }; |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
231 type = g_type_register_static (G_TYPE_OBJECT, |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
232 "PurpleTheme", &info, G_TYPE_FLAG_ABSTRACT); |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
233 } |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
234 return type; |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
235 } |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
236 |
23699
fc8047e1fa39
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23483
diff
changeset
|
237 /****************************************************************************** |
fc8047e1fa39
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23483
diff
changeset
|
238 * Helper Functions |
fc8047e1fa39
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23483
diff
changeset
|
239 *****************************************************************************/ |
fc8047e1fa39
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23483
diff
changeset
|
240 |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
241 static gchar * |
23699
fc8047e1fa39
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23483
diff
changeset
|
242 theme_clean_text(const gchar *text) |
fc8047e1fa39
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23483
diff
changeset
|
243 { |
27129
f70e86aec7d0
Reduce the number of g_return_val_if_fail calls for NULL input since that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25402
diff
changeset
|
244 gchar *clean_text = NULL; |
f70e86aec7d0
Reduce the number of g_return_val_if_fail calls for NULL input since that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25402
diff
changeset
|
245 if (text != NULL) { |
f70e86aec7d0
Reduce the number of g_return_val_if_fail calls for NULL input since that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25402
diff
changeset
|
246 clean_text = g_markup_escape_text(text, -1); |
f70e86aec7d0
Reduce the number of g_return_val_if_fail calls for NULL input since that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25402
diff
changeset
|
247 g_strdelimit(clean_text, "\n", ' '); |
f70e86aec7d0
Reduce the number of g_return_val_if_fail calls for NULL input since that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25402
diff
changeset
|
248 purple_str_strip_char(clean_text, '\r'); |
f70e86aec7d0
Reduce the number of g_return_val_if_fail calls for NULL input since that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25402
diff
changeset
|
249 } |
23699
fc8047e1fa39
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23483
diff
changeset
|
250 return clean_text; |
fc8047e1fa39
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23483
diff
changeset
|
251 } |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
252 |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
253 /***************************************************************************** |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
254 * Public API function |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
255 *****************************************************************************/ |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
256 |
23472
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23466
diff
changeset
|
257 const gchar * |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
258 purple_theme_get_name(PurpleTheme *theme) |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
259 { |
23457
8793058bc318
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23456
diff
changeset
|
260 PurpleThemePrivate *priv; |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
261 |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
262 g_return_val_if_fail(PURPLE_IS_THEME(theme), NULL); |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
263 |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
264 priv = PURPLE_THEME_GET_PRIVATE(theme); |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
265 return priv->name; |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
266 } |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
267 |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
268 void |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
269 purple_theme_set_name(PurpleTheme *theme, const gchar *name) |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
270 { |
23457
8793058bc318
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23456
diff
changeset
|
271 PurpleThemePrivate *priv; |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
272 |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
273 g_return_if_fail(PURPLE_IS_THEME(theme)); |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
274 |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
275 priv = PURPLE_THEME_GET_PRIVATE(theme); |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
276 |
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
277 g_free(priv->name); |
23699
fc8047e1fa39
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23483
diff
changeset
|
278 priv->name = theme_clean_text(name); |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
279 } |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
280 |
23472
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23466
diff
changeset
|
281 const gchar * |
23456
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23452
diff
changeset
|
282 purple_theme_get_description(PurpleTheme *theme) |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23452
diff
changeset
|
283 { |
23457
8793058bc318
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23456
diff
changeset
|
284 PurpleThemePrivate *priv; |
23456
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23452
diff
changeset
|
285 |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23452
diff
changeset
|
286 g_return_val_if_fail(PURPLE_IS_THEME(theme), NULL); |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23452
diff
changeset
|
287 |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23452
diff
changeset
|
288 priv = PURPLE_THEME_GET_PRIVATE(theme); |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23452
diff
changeset
|
289 return priv->description; |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23452
diff
changeset
|
290 } |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23452
diff
changeset
|
291 |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23452
diff
changeset
|
292 void |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23452
diff
changeset
|
293 purple_theme_set_description(PurpleTheme *theme, const gchar *description) |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23452
diff
changeset
|
294 { |
23457
8793058bc318
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23456
diff
changeset
|
295 PurpleThemePrivate *priv; |
23456
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23452
diff
changeset
|
296 |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23452
diff
changeset
|
297 g_return_if_fail(PURPLE_IS_THEME(theme)); |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23452
diff
changeset
|
298 |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23452
diff
changeset
|
299 priv = PURPLE_THEME_GET_PRIVATE(theme); |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23452
diff
changeset
|
300 |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23452
diff
changeset
|
301 g_free(priv->description); |
23699
fc8047e1fa39
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23483
diff
changeset
|
302 priv->description = theme_clean_text(description); |
23456
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23452
diff
changeset
|
303 } |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23452
diff
changeset
|
304 |
23472
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23466
diff
changeset
|
305 const gchar * |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
306 purple_theme_get_author(PurpleTheme *theme) |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
307 { |
23457
8793058bc318
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23456
diff
changeset
|
308 PurpleThemePrivate *priv; |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
309 |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
310 g_return_val_if_fail(PURPLE_IS_THEME(theme), NULL); |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
311 |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
312 priv = PURPLE_THEME_GET_PRIVATE(theme); |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
313 return priv->author; |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
314 } |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
315 |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
316 void |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
317 purple_theme_set_author(PurpleTheme *theme, const gchar *author) |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
318 { |
23457
8793058bc318
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23456
diff
changeset
|
319 PurpleThemePrivate *priv; |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
320 |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
321 g_return_if_fail(PURPLE_IS_THEME(theme)); |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
322 |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
323 priv = PURPLE_THEME_GET_PRIVATE(theme); |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
324 |
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
325 g_free(priv->author); |
23699
fc8047e1fa39
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23483
diff
changeset
|
326 priv->author = theme_clean_text(author); |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
327 } |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
328 |
23472
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23466
diff
changeset
|
329 const gchar * |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
330 purple_theme_get_type_string(PurpleTheme *theme) |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
331 { |
23457
8793058bc318
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23456
diff
changeset
|
332 PurpleThemePrivate *priv; |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
333 |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
334 g_return_val_if_fail(PURPLE_IS_THEME(theme), NULL); |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
335 |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
336 priv = PURPLE_THEME_GET_PRIVATE(theme); |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
337 return priv->type; |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
338 } |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
339 |
23461
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
340 /* < private > */ |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
341 void |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
342 purple_theme_set_type_string(PurpleTheme *theme, const gchar *type) |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
343 { |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
344 PurpleThemePrivate *priv; |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
345 |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
346 g_return_if_fail(PURPLE_IS_THEME(theme)); |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
347 |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
348 priv = PURPLE_THEME_GET_PRIVATE(theme); |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
349 |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
350 g_free(priv->type); |
23472
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23466
diff
changeset
|
351 priv->type = g_strdup(type); |
23461
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
352 } |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23457
diff
changeset
|
353 |
23472
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23466
diff
changeset
|
354 const gchar * |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
355 purple_theme_get_dir(PurpleTheme *theme) |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
356 { |
23457
8793058bc318
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23456
diff
changeset
|
357 PurpleThemePrivate *priv; |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
358 |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
359 g_return_val_if_fail(PURPLE_IS_THEME(theme), NULL); |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
360 |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
361 priv = PURPLE_THEME_GET_PRIVATE(theme); |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
362 return priv->dir; |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
363 } |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
364 |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
365 void |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
366 purple_theme_set_dir(PurpleTheme *theme, const gchar *dir) |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
367 { |
23457
8793058bc318
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23456
diff
changeset
|
368 PurpleThemePrivate *priv; |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
369 |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
370 g_return_if_fail(PURPLE_IS_THEME(theme)); |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
371 |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
372 priv = PURPLE_THEME_GET_PRIVATE(theme); |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
373 |
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
374 g_free(priv->dir); |
23472
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23466
diff
changeset
|
375 priv->dir = g_strdup(dir); |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
376 } |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
377 |
23472
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23466
diff
changeset
|
378 const gchar * |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
379 purple_theme_get_image(PurpleTheme *theme) |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
380 { |
23457
8793058bc318
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23456
diff
changeset
|
381 PurpleThemePrivate *priv; |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
382 |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
383 g_return_val_if_fail(PURPLE_IS_THEME(theme), NULL); |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
384 |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
385 priv = PURPLE_THEME_GET_PRIVATE(theme); |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
386 |
23472
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23466
diff
changeset
|
387 return priv->img; |
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23466
diff
changeset
|
388 } |
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23466
diff
changeset
|
389 |
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23466
diff
changeset
|
390 gchar * |
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23466
diff
changeset
|
391 purple_theme_get_image_full(PurpleTheme *theme) |
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23466
diff
changeset
|
392 { |
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23466
diff
changeset
|
393 const gchar *filename = purple_theme_get_image(theme); |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
394 |
27129
f70e86aec7d0
Reduce the number of g_return_val_if_fail calls for NULL input since that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25402
diff
changeset
|
395 if (filename) |
f70e86aec7d0
Reduce the number of g_return_val_if_fail calls for NULL input since that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25402
diff
changeset
|
396 return g_build_filename(purple_theme_get_dir(PURPLE_THEME(theme)), filename, NULL); |
f70e86aec7d0
Reduce the number of g_return_val_if_fail calls for NULL input since that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25402
diff
changeset
|
397 else |
f70e86aec7d0
Reduce the number of g_return_val_if_fail calls for NULL input since that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25402
diff
changeset
|
398 return NULL; |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
399 } |
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
400 |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
401 void |
23472
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23466
diff
changeset
|
402 purple_theme_set_image(PurpleTheme *theme, const gchar *img) |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25349
diff
changeset
|
403 { |
23457
8793058bc318
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23456
diff
changeset
|
404 PurpleThemePrivate *priv; |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
405 |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
406 g_return_if_fail(PURPLE_IS_THEME(theme)); |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
407 |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
408 priv = PURPLE_THEME_GET_PRIVATE(theme); |
23451
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23450
diff
changeset
|
409 |
23472
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23466
diff
changeset
|
410 g_free(priv->img); |
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23466
diff
changeset
|
411 priv->img = g_strdup(img); |
23450
de8f7e6a707a
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
412 } |