Mercurial > pidgin
annotate libpurple/theme.c @ 29105:94f85ba7e5a9
This effectively moves Etan's API addition off im.pidgin.pidgin and onto
im.pidgin.pidgin.next.minor so we don't force a 2.7.0 too soon.
*** Plucked rev f7d26d95395d5013710b12cfdfcf131aa1033e0c (deryni@pidgin.im):
Add a purple_account_get_name_for_display function (I'm not a huge fan of that
name but didn't want to use get_display_name as that means something else for
connections).
This wants to be used in places where we need to display an identifier for the
account to the user and honor the appropriate aliases/etc.
Refs #8391
author | John Bailey <rekkanoryo@rekkanoryo.org> |
---|---|
date | Wed, 16 Sep 2009 15:44:26 +0000 |
parents | f70e86aec7d0 |
children | a444fe876e52 |
rev | line source |
---|---|
25074
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 /* |
25911
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
2 * Themes for libpurple |
25074
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 */ |
25911
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
22 |
25858
1eacf60a73dd
Fix some theme manager assertion failures.
Richard Laager <rlaager@wiktel.com>
parents:
25119
diff
changeset
|
23 #include <glib.h> |
1eacf60a73dd
Fix some theme manager assertion failures.
Richard Laager <rlaager@wiktel.com>
parents:
25119
diff
changeset
|
24 #include <string.h> |
25074
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 |
25858
1eacf60a73dd
Fix some theme manager assertion failures.
Richard Laager <rlaager@wiktel.com>
parents:
25119
diff
changeset
|
26 #include "internal.h" |
25074
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" |
25119
fc8047e1fa39
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25107
diff
changeset
|
28 #include "util.h" |
fc8047e1fa39
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25107
diff
changeset
|
29 |
25074
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 |
25085
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25081
diff
changeset
|
33 void purple_theme_set_type_string(PurpleTheme *theme, const gchar *type); |
25074
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 *****************************************************************************/ |
25911
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
38 |
25074
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; |
25080
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25076
diff
changeset
|
41 gchar *description; |
25074
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; |
25096
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:
25090
diff
changeset
|
45 gchar *img; |
25074
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 |
25085
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25081
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:
25081
diff
changeset
|
53 |
25074
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, |
25107
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25096
diff
changeset
|
61 PROP_DESCRIPTION, |
25074
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 |
25076
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25075
diff
changeset
|
68 /****************************************************************************** |
25911
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
69 * GObject Stuff |
25076
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25075
diff
changeset
|
70 *****************************************************************************/ |
25074
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, |
25911
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
74 GParamSpec *psec) |
25074
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 { |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
76 PurpleTheme *theme = PURPLE_THEME(obj); |
25074
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 |
25911
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
78 switch (param_id) { |
25074
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: |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
80 g_value_set_string(value, purple_theme_get_name(theme)); |
25074
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; |
25107
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25096
diff
changeset
|
82 case PROP_DESCRIPTION: |
25080
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25076
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:
25076
diff
changeset
|
84 break; |
25074
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: |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
86 g_value_set_string(value, purple_theme_get_author(theme)); |
25074
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: |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
89 g_value_set_string(value, purple_theme_get_type_string(theme)); |
25074
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: |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
92 g_value_set_string(value, purple_theme_get_dir(theme)); |
25074
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: |
25096
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:
25090
diff
changeset
|
95 g_value_set_string(value, purple_theme_get_image(theme)); |
25074
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, |
25911
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
105 GParamSpec *psec) |
25074
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 { |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
107 PurpleTheme *theme = PURPLE_THEME(obj); |
25074
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 |
25911
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
109 switch (param_id) { |
25074
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: |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
111 purple_theme_set_name(theme, g_value_get_string(value)); |
25074
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; |
25107
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25096
diff
changeset
|
113 case PROP_DESCRIPTION: |
25080
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25076
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:
25076
diff
changeset
|
115 break; |
25074
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: |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
117 purple_theme_set_author(theme, g_value_get_string(value)); |
25074
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; |
25085
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25081
diff
changeset
|
119 case PROP_TYPE: |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25081
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:
25081
diff
changeset
|
121 break; |
25074
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: |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
123 purple_theme_set_dir(theme, g_value_get_string(value)); |
25074
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: |
25096
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:
25090
diff
changeset
|
126 purple_theme_set_image(theme, g_value_get_string(value)); |
25074
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 |
25090
5a02912e0bac
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25089
diff
changeset
|
135 purple_theme_init(GTypeInstance *instance, |
25911
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
136 gpointer klass) |
25090
5a02912e0bac
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25089
diff
changeset
|
137 { |
25096
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:
25090
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:
25090
diff
changeset
|
139 theme->priv = g_new0(PurpleThemePrivate, 1); |
25090
5a02912e0bac
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25089
diff
changeset
|
140 } |
5a02912e0bac
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25089
diff
changeset
|
141 |
5a02912e0bac
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25089
diff
changeset
|
142 static void |
25085
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25081
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:
25081
diff
changeset
|
144 { |
25911
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
145 PurpleTheme *theme = PURPLE_THEME(obj); |
25085
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25081
diff
changeset
|
146 PurpleThemePrivate *priv = PURPLE_THEME_GET_PRIVATE(theme); |
25911
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
147 |
25085
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25081
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:
25081
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:
25081
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:
25081
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:
25081
diff
changeset
|
152 g_free(priv->dir); |
25096
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:
25090
diff
changeset
|
153 g_free(priv->img); |
25085
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25081
diff
changeset
|
154 |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25081
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:
25081
diff
changeset
|
156 } |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25081
diff
changeset
|
157 |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25081
diff
changeset
|
158 static void |
25911
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
159 purple_theme_class_init(PurpleThemeClass *klass) |
25074
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 |
25085
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25081
diff
changeset
|
164 parent_class = g_type_class_peek_parent(klass); |
25074
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; |
25085
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25081
diff
changeset
|
168 obj_class->finalize = purple_theme_finalize; |
25911
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
169 |
25074
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 */ |
25090
5a02912e0bac
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25089
diff
changeset
|
171 pspec = g_param_spec_string("name", "Name", |
25911
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
172 "The name of the theme", |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
173 NULL, |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
174 G_PARAM_READWRITE | G_PARAM_CONSTRUCT); |
25074
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); |
25107
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25096
diff
changeset
|
176 |
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25096
diff
changeset
|
177 /* DESCRIPTION */ |
25090
5a02912e0bac
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25089
diff
changeset
|
178 pspec = g_param_spec_string("description", "Description", |
25911
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
179 "The description of the theme", |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
180 NULL, |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
181 G_PARAM_READWRITE | G_PARAM_CONSTRUCT); |
25107
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25096
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:
25096
diff
changeset
|
183 |
25074
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 */ |
25090
5a02912e0bac
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25089
diff
changeset
|
185 pspec = g_param_spec_string("author", "Author", |
25911
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
186 "The author of the theme", |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
187 NULL, |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
188 G_PARAM_READWRITE | G_PARAM_CONSTRUCT); |
25074
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); |
25107
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25096
diff
changeset
|
190 |
25074
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) */ |
25090
5a02912e0bac
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25089
diff
changeset
|
192 pspec = g_param_spec_string("type", "Type", |
25911
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
193 "The string represtenting the type of the theme", |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
194 NULL, |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
195 G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY); |
25074
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); |
25107
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25096
diff
changeset
|
197 |
25074
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 */ |
25090
5a02912e0bac
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25089
diff
changeset
|
199 pspec = g_param_spec_string("directory", "Directory", |
25911
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
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:
25858
diff
changeset
|
201 NULL, |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
202 G_PARAM_READWRITE | G_PARAM_CONSTRUCT); |
25074
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); |
25107
748308865dbf
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25096
diff
changeset
|
204 |
25074
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 */ |
25096
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:
25090
diff
changeset
|
206 pspec = g_param_spec_string("image", "Image", |
25911
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
207 "A preview image of the theme", |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
208 NULL, |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
209 G_PARAM_READWRITE); |
25074
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 |
25911
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
214 GType |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
215 purple_theme_get_type(void) |
25074
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 { |
25911
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
217 static GType type = 0; |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
218 if (type == 0) { |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
219 static const GTypeInfo info = { |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
220 sizeof(PurpleThemeClass), |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
221 NULL, /* base_init */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
222 NULL, /* base_finalize */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
223 (GClassInitFunc)purple_theme_class_init, /* class_init */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
224 NULL, /* class_finalize */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
225 NULL, /* class_data */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
226 sizeof(PurpleTheme), |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
227 0, /* n_preallocs */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
228 purple_theme_init, /* instance_init */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
229 NULL, /* value table */ |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
230 }; |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
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:
25858
diff
changeset
|
232 "PurpleTheme", &info, G_TYPE_FLAG_ABSTRACT); |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
233 } |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
234 return type; |
25074
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 |
25119
fc8047e1fa39
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25107
diff
changeset
|
237 /****************************************************************************** |
fc8047e1fa39
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25107
diff
changeset
|
238 * Helper Functions |
fc8047e1fa39
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25107
diff
changeset
|
239 *****************************************************************************/ |
fc8047e1fa39
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25107
diff
changeset
|
240 |
25911
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
241 static gchar * |
25119
fc8047e1fa39
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25107
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:
25107
diff
changeset
|
243 { |
27047
f70e86aec7d0
Reduce the number of g_return_val_if_fail calls for NULL input since that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25911
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:
25911
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:
25911
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:
25911
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:
25911
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:
25911
diff
changeset
|
249 } |
25119
fc8047e1fa39
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25107
diff
changeset
|
250 return clean_text; |
fc8047e1fa39
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25107
diff
changeset
|
251 } |
25074
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 /***************************************************************************** |
25911
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
254 * Public API function |
25074
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 |
25096
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:
25090
diff
changeset
|
257 const gchar * |
25074
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 { |
25081
8793058bc318
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25080
diff
changeset
|
260 PurpleThemePrivate *priv; |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
261 |
25074
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); |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
263 |
25074
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 { |
25081
8793058bc318
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25080
diff
changeset
|
271 PurpleThemePrivate *priv; |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
272 |
25074
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)); |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
274 |
25074
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); |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
276 |
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
277 g_free(priv->name); |
25119
fc8047e1fa39
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25107
diff
changeset
|
278 priv->name = theme_clean_text(name); |
25074
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 |
25096
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:
25090
diff
changeset
|
281 const gchar * |
25080
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25076
diff
changeset
|
282 purple_theme_get_description(PurpleTheme *theme) |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25076
diff
changeset
|
283 { |
25081
8793058bc318
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25080
diff
changeset
|
284 PurpleThemePrivate *priv; |
25080
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25076
diff
changeset
|
285 |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25076
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:
25076
diff
changeset
|
287 |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25076
diff
changeset
|
288 priv = PURPLE_THEME_GET_PRIVATE(theme); |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25076
diff
changeset
|
289 return priv->description; |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25076
diff
changeset
|
290 } |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25076
diff
changeset
|
291 |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25076
diff
changeset
|
292 void |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25076
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:
25076
diff
changeset
|
294 { |
25081
8793058bc318
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25080
diff
changeset
|
295 PurpleThemePrivate *priv; |
25080
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25076
diff
changeset
|
296 |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25076
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:
25076
diff
changeset
|
298 |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25076
diff
changeset
|
299 priv = PURPLE_THEME_GET_PRIVATE(theme); |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25076
diff
changeset
|
300 |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25076
diff
changeset
|
301 g_free(priv->description); |
25119
fc8047e1fa39
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25107
diff
changeset
|
302 priv->description = theme_clean_text(description); |
25080
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25076
diff
changeset
|
303 } |
8f397c8e728a
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25076
diff
changeset
|
304 |
25096
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:
25090
diff
changeset
|
305 const gchar * |
25074
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 { |
25081
8793058bc318
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25080
diff
changeset
|
308 PurpleThemePrivate *priv; |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
309 |
25074
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); |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
311 |
25074
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 { |
25081
8793058bc318
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25080
diff
changeset
|
319 PurpleThemePrivate *priv; |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
320 |
25074
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)); |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
322 |
25074
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); |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
324 |
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
325 g_free(priv->author); |
25119
fc8047e1fa39
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25107
diff
changeset
|
326 priv->author = theme_clean_text(author); |
25074
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 |
25096
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:
25090
diff
changeset
|
329 const gchar * |
25074
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 { |
25081
8793058bc318
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25080
diff
changeset
|
332 PurpleThemePrivate *priv; |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
333 |
25074
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); |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
335 |
25074
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 |
25085
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25081
diff
changeset
|
340 /* < private > */ |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25081
diff
changeset
|
341 void |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25081
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:
25081
diff
changeset
|
343 { |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25081
diff
changeset
|
344 PurpleThemePrivate *priv; |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25081
diff
changeset
|
345 |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25081
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:
25081
diff
changeset
|
347 |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25081
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:
25081
diff
changeset
|
349 |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25081
diff
changeset
|
350 g_free(priv->type); |
25096
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:
25090
diff
changeset
|
351 priv->type = g_strdup(type); |
25085
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25081
diff
changeset
|
352 } |
fecc8e2612c4
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25081
diff
changeset
|
353 |
25096
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:
25090
diff
changeset
|
354 const gchar * |
25911
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
355 purple_theme_get_dir(PurpleTheme *theme) |
25074
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 { |
25081
8793058bc318
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25080
diff
changeset
|
357 PurpleThemePrivate *priv; |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
358 |
25074
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); |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
360 |
25074
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 { |
25081
8793058bc318
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25080
diff
changeset
|
368 PurpleThemePrivate *priv; |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
369 |
25074
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)); |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
371 |
25074
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); |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
373 |
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
374 g_free(priv->dir); |
25096
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:
25090
diff
changeset
|
375 priv->dir = g_strdup(dir); |
25074
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 |
25096
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:
25090
diff
changeset
|
378 const gchar * |
25074
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 { |
25081
8793058bc318
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25080
diff
changeset
|
381 PurpleThemePrivate *priv; |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
382 |
25074
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); |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
384 |
25074
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); |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
386 |
25096
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:
25090
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:
25090
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:
25090
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:
25090
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:
25090
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:
25090
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:
25090
diff
changeset
|
393 const gchar *filename = purple_theme_get_image(theme); |
25911
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
394 |
27047
f70e86aec7d0
Reduce the number of g_return_val_if_fail calls for NULL input since that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
25911
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:
25911
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:
25911
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:
25911
diff
changeset
|
398 return NULL; |
25074
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 |
25911
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
401 void |
25096
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:
25090
diff
changeset
|
402 purple_theme_set_image(PurpleTheme *theme, const gchar *img) |
25911
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
25858
diff
changeset
|
403 { |
25081
8793058bc318
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25080
diff
changeset
|
404 PurpleThemePrivate *priv; |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
405 |
25074
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)); |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
407 |
25074
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); |
25075
52a1f5950f46
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
25074
diff
changeset
|
409 |
25096
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:
25090
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:
25090
diff
changeset
|
411 priv->img = g_strdup(img); |
25074
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 } |