libpurple/theme.c

Wed, 11 Jun 2008 18:32:12 +0000

author
Justin Rodriguez <ffdragon@soc.pidgin.im>
date
Wed, 11 Jun 2008 18:32:12 +0000
branch
soc.2008.themes
changeset 23637
808f8f699af0
parent 23633
b7d99d231b93
child 23638
c3e616f3abb0
permissions
-rw-r--r--

Added description to theme abstract class

23631
d545d296d62c 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 /*
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
2 * Themes for LibPurple
d545d296d62c 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 *
d545d296d62c 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
d545d296d62c 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
d545d296d62c 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.
d545d296d62c 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 *
d545d296d62c 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
d545d296d62c 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
d545d296d62c 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
d545d296d62c 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.
d545d296d62c 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 *
d545d296d62c 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,
d545d296d62c 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
d545d296d62c 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
d545d296d62c 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.
d545d296d62c 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 *
d545d296d62c 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
d545d296d62c 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
d545d296d62c 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
d545d296d62c 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 *
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
22 */
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
23
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
24 #include "theme.h"
d545d296d62c 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
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
26 #define PURPLE_THEME_GET_PRIVATE(PurpleTheme) \
d545d296d62c 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 ((PurpleThemePrivate *) ((PurpleTheme)->priv))
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
28
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
29
d545d296d62c 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 /******************************************************************************
d545d296d62c 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 * Structs
d545d296d62c 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 *****************************************************************************/
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
33 typedef struct {
d545d296d62c 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 gchar *name;
23637
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
35 gchar *description;
23631
d545d296d62c 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 gchar *author;
d545d296d62c 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 gchar *type;
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
38 gchar *dir;
d545d296d62c 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 PurpleStoredImage *img;
d545d296d62c 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 } PurpleThemePrivate;
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
41
d545d296d62c 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 /******************************************************************************
d545d296d62c 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 * Globals
d545d296d62c 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 *****************************************************************************/
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
45
d545d296d62c 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 /******************************************************************************
d545d296d62c 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 * Enums
d545d296d62c 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 *****************************************************************************/
d545d296d62c 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 #define PROP_NAME_S "name"
23637
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
50 #define PROP_DESCRIPION_S "description"
23631
d545d296d62c 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 #define PROP_AUTHOR_S "author"
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
52 #define PROP_TYPE_S "type"
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
53 #define PROP_DIR_S "dir"
d545d296d62c 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 #define PROP_IMAGE_S "image"
d545d296d62c 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
d545d296d62c 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 enum {
d545d296d62c 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 PROP_ZERO = 0,
d545d296d62c 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 PROP_NAME,
23637
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
59 PROP_DESCRIPION,
23631
d545d296d62c 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_AUTHOR,
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
61 PROP_TYPE,
d545d296d62c 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_DIR,
d545d296d62c 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_IMAGE
d545d296d62c 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 };
d545d296d62c 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
d545d296d62c 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
23633
b7d99d231b93 Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23632
diff changeset
67 /******************************************************************************
b7d99d231b93 Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23632
diff changeset
68 * GObject Stuff *
b7d99d231b93 Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23632
diff changeset
69 *****************************************************************************/
23631
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
70
d545d296d62c 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 static void
d545d296d62c 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 purple_theme_get_property(GObject *obj, guint param_id, GValue *value,
d545d296d62c 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 GParamSpec *psec)
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
74 {
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
75 PurpleTheme *theme = PURPLE_THEME(obj);
23631
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
76
d545d296d62c 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 switch(param_id) {
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
78 case PROP_NAME:
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
79 g_value_set_string(value, purple_theme_get_name(theme));
23631
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
80 break;
23637
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
81 case PROP_DESCRIPION:
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
82 g_value_set_string(value, purple_theme_get_description(theme));
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
83 break;
23631
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
84 case PROP_AUTHOR:
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
85 g_value_set_string(value, purple_theme_get_author(theme));
23631
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
86 break;
d545d296d62c 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 case PROP_TYPE:
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
88 g_value_set_string(value, purple_theme_get_type_string(theme));
23631
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
89 break;
d545d296d62c 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 case PROP_DIR:
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
91 g_value_set_string(value, purple_theme_get_dir(theme));
23631
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
92 break;
d545d296d62c 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 case PROP_IMAGE:
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
94 g_value_set_pointer(value, purple_theme_get_image(theme));
23631
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
95 break;
d545d296d62c 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 default:
d545d296d62c 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 G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, psec);
d545d296d62c 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 break;
d545d296d62c 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 }
d545d296d62c 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 }
d545d296d62c 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
d545d296d62c 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 static void
d545d296d62c 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 purple_theme_set_property(GObject *obj, guint param_id, const GValue *value,
d545d296d62c 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 GParamSpec *psec)
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
105 {
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
106 PurpleTheme *theme = PURPLE_THEME(obj);
23631
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
107
d545d296d62c 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 switch(param_id) {
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
109 case PROP_NAME:
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
110 purple_theme_set_name(theme, g_value_get_string(value));
23631
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
111 break;
23637
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
112 case PROP_DESCRIPION:
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
113 purple_theme_set_description(theme, g_value_get_string(value));
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
114 break;
23631
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
115 case PROP_AUTHOR:
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
116 purple_theme_set_author(theme, g_value_get_string(value));
23631
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
117 break;
d545d296d62c 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 case PROP_DIR:
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
119 purple_theme_set_dir(theme, g_value_get_string(value));
23631
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
120 break;
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
121 case PROP_IMAGE:
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
122 purple_theme_set_image(theme, g_value_get_pointer(value));
23631
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
123 break;
d545d296d62c 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 default:
d545d296d62c 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 G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, psec);
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
126 break;
d545d296d62c 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 }
d545d296d62c 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 }
d545d296d62c 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
d545d296d62c 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 static void
d545d296d62c 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 purple_theme_class_init (PurpleThemeClass *klass)
d545d296d62c 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 {
d545d296d62c 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 GObjectClass *obj_class = G_OBJECT_CLASS(klass);
d545d296d62c 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 GParamSpec *pspec;
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
135
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
136 /* 2.4
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
137 * g_type_class_add_private(klass, sizeof(PurpleThemePrivate)); */
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
138
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
139 obj_class->get_property = purple_theme_get_property;
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
140 obj_class->set_property = purple_theme_set_property;
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
141
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
142 /* NAME */
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
143 pspec = g_param_spec_string(PROP_NAME_S, "Name",
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
144 "The name of the theme",
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
145 NULL,
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
146 G_PARAM_READWRITE | G_PARAM_CONSTRUCT);
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
147 g_object_class_install_property(obj_class, PROP_NAME, pspec);
23637
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
148 /* DESCRIPION */
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
149 pspec = g_param_spec_string(PROP_DESCRIPION_S, "Description",
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
150 "The description of the theme",
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
151 NULL,
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
152 G_PARAM_READWRITE | G_PARAM_CONSTRUCT);
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
153 g_object_class_install_property(obj_class, PROP_DESCRIPION, pspec);
23631
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
154 /* AUTHOR */
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
155 pspec = g_param_spec_string(PROP_AUTHOR_S, "Author",
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
156 "The author of the theme",
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
157 NULL,
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
158 G_PARAM_READWRITE | G_PARAM_CONSTRUCT);
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
159 g_object_class_install_property(obj_class, PROP_AUTHOR, pspec);
d545d296d62c 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 /* TYPE STRING (read only) */
d545d296d62c 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 pspec = g_param_spec_string(PROP_TYPE_S, "Type",
d545d296d62c 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 "The string represtenting the type of the theme",
d545d296d62c 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 NULL,
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
164 G_PARAM_READABLE | G_PARAM_CONSTRUCT_ONLY);
d545d296d62c 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 g_object_class_install_property(obj_class, PROP_TYPE, pspec);
d545d296d62c 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 /* DIRECTORY */
d545d296d62c 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 pspec = g_param_spec_string(PROP_DIR_S, "Directory",
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
168 "The directory that contains the theme and all its files",
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
169 NULL,
d545d296d62c 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 G_PARAM_READWRITE | G_PARAM_CONSTRUCT);
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
171 g_object_class_install_property(obj_class, PROP_DIR, pspec);
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
172 /* PREVIEW IMAGE */
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
173 pspec = g_param_spec_pointer(PROP_IMAGE_S, "Image",
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
174 "A preview image of the theme",
d545d296d62c 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_PARAM_READABLE);
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
176 g_object_class_install_property(obj_class, PROP_IMAGE, pspec);
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
177 }
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
178
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
179
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
180 GType
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
181 purple_theme_get_type (void)
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
182 {
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
183 static GType type = 0;
d545d296d62c 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 if (type == 0) {
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
185 static const GTypeInfo info = {
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
186 sizeof (PurpleThemeClass),
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
187 NULL, /* base_init */
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
188 NULL, /* base_finalize */
d545d296d62c 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 (GClassInitFunc)purple_theme_class_init, /* class_init */
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
190 NULL, /* class_finalize */
d545d296d62c 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 NULL, /* class_data */
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
192 sizeof (PurpleTheme),
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
193 0, /* n_preallocs */
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
194 NULL, /* instance_init */
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
195 NULL, /* value table */
d545d296d62c 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 };
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
197 type = g_type_register_static (G_TYPE_OBJECT,
d545d296d62c 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 "PurpleThemeType",
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
199 &info, G_TYPE_FLAG_ABSTRACT);
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
200 }
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
201 return type;
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
202 }
d545d296d62c 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
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
204
d545d296d62c 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 /*****************************************************************************
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
206 * Public API functions *
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
207 *****************************************************************************/
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
208
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
209 gchar *
d545d296d62c 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 purple_theme_get_name(PurpleTheme *theme)
d545d296d62c 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 {
d545d296d62c 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 PurpleThemePrivate *priv = NULL;
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
213
23631
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
214 g_return_val_if_fail(PURPLE_IS_THEME(theme), NULL);
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
215
23631
d545d296d62c 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 priv = PURPLE_THEME_GET_PRIVATE(theme);
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
217 return priv->name;
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
218 }
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
219
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
220 void
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
221 purple_theme_set_name(PurpleTheme *theme, const gchar *name)
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
222 {
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
223 PurpleThemePrivate *priv = NULL;
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
224
23631
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
225 g_return_if_fail(PURPLE_IS_THEME(theme));
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
226
23631
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
227 priv = PURPLE_THEME_GET_PRIVATE(theme);
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
228
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
229 g_free(priv->name);
23631
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
230 priv->name = g_strdup (name);
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
231 }
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
232
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
233 gchar *
23637
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
234 purple_theme_get_description(PurpleTheme *theme)
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
235 {
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
236 PurpleThemePrivate *priv = NULL;
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
237
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
238 g_return_val_if_fail(PURPLE_IS_THEME(theme), NULL);
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
239
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
240 priv = PURPLE_THEME_GET_PRIVATE(theme);
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
241 return priv->description;
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
242 }
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
243
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
244 void
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
245 purple_theme_set_description(PurpleTheme *theme, const gchar *description)
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
246 {
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
247 PurpleThemePrivate *priv = NULL;
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
248
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
249 g_return_if_fail(PURPLE_IS_THEME(theme));
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
250
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
251 priv = PURPLE_THEME_GET_PRIVATE(theme);
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
252
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
253 g_free(priv->description);
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
254 priv->description = g_strdup (description);
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
255 }
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
256
808f8f699af0 Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23633
diff changeset
257 gchar *
23631
d545d296d62c 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_author(PurpleTheme *theme)
d545d296d62c 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 {
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
260 PurpleThemePrivate *priv = NULL;
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
261
23631
d545d296d62c 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);
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
263
23631
d545d296d62c 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);
d545d296d62c 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->author;
d545d296d62c 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 }
d545d296d62c 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
d545d296d62c 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
d545d296d62c 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_author(PurpleTheme *theme, const gchar *author)
d545d296d62c 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 {
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
271 PurpleThemePrivate *priv = NULL;
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
272
23631
d545d296d62c 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));
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
274
23631
d545d296d62c 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);
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
276
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
277 g_free(priv->author);
23631
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
278 priv->author = g_strdup (author);
d545d296d62c 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 }
d545d296d62c 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
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
281 gchar *
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
282 purple_theme_get_type_string(PurpleTheme *theme)
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
283 {
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
284 PurpleThemePrivate *priv = NULL;
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
285
23631
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
286 g_return_val_if_fail(PURPLE_IS_THEME(theme), NULL);
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
287
23631
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
288 priv = PURPLE_THEME_GET_PRIVATE(theme);
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
289 return priv->type;
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
290 }
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
291
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
292 gchar *
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
293 purple_theme_get_dir(PurpleTheme *theme)
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
294 {
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
295 PurpleThemePrivate *priv = NULL;
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
296
23631
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
297 g_return_val_if_fail(PURPLE_IS_THEME(theme), NULL);
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
298
23631
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
299 priv = PURPLE_THEME_GET_PRIVATE(theme);
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
300 return priv->dir;
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
301 }
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
302
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
303 void
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
304 purple_theme_set_dir(PurpleTheme *theme, const gchar *dir)
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
305 {
d545d296d62c 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 PurpleThemePrivate *priv = NULL;
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
307
23631
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
308 g_return_if_fail(PURPLE_IS_THEME(theme));
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
309
23631
d545d296d62c 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 priv = PURPLE_THEME_GET_PRIVATE(theme);
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
311
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
312 g_free(priv->dir);
23631
d545d296d62c 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 priv->dir = g_strdup (dir);
d545d296d62c 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 }
d545d296d62c 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
d545d296d62c 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 PurpleStoredImage *
d545d296d62c 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_get_image(PurpleTheme *theme)
d545d296d62c 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 {
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
319 PurpleThemePrivate *priv = NULL;
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
320
23631
d545d296d62c 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_val_if_fail(PURPLE_IS_THEME(theme), NULL);
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
322
23631
d545d296d62c 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);
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
324
23631
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
325 return purple_imgstore_ref(priv->img);
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
326 }
d545d296d62c 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
d545d296d62c 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 void
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
329 purple_theme_set_image(PurpleTheme *theme, PurpleStoredImage *img)
d545d296d62c 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 {
d545d296d62c 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 PurpleThemePrivate *priv = NULL;
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
332
23631
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
333 g_return_if_fail(PURPLE_IS_THEME(theme));
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
334
23631
d545d296d62c Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff changeset
335 priv = PURPLE_THEME_GET_PRIVATE(theme);
23632
d0470bcd0b7e fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23631
diff changeset
336
23631
d545d296d62c 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 purple_imgstore_unref(priv->img);
d545d296d62c 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 priv->img = img;
d545d296d62c 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 }

mercurial