Wed, 13 May 2009 20:29:03 +0000
Support custom smileys in MUCs (when all participants support BoB and a maximum
of 10 participants are in the chat).
Always announce support for BoB, since disable custom smileys will still turn
off fetching them, and BoB can be used for other purposes further on.
|
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 | /* |
|
25875
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
2 | * Themes for libpurple |
|
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
|
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 | */ |
|
25875
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
22 | |
|
25005
e86ff053dd10
Fix some theme manager assertion failures.
Richard Laager <rlaager@pidgin.im>
parents:
23969
diff
changeset
|
23 | #include <glib.h> |
|
e86ff053dd10
Fix some theme manager assertion failures.
Richard Laager <rlaager@pidgin.im>
parents:
23969
diff
changeset
|
24 | #include <string.h> |
|
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
|
25 | |
|
25005
e86ff053dd10
Fix some theme manager assertion failures.
Richard Laager <rlaager@pidgin.im>
parents:
23969
diff
changeset
|
26 | #include "internal.h" |
|
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
|
27 | #include "theme.h" |
|
23969
0c3fe3967b97
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23664
diff
changeset
|
28 | #include "util.h" |
|
0c3fe3967b97
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23664
diff
changeset
|
29 | |
|
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
|
30 | #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
|
31 | ((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
|
32 | |
|
23642
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
33 | void purple_theme_set_type_string(PurpleTheme *theme, const gchar *type); |
|
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
|
34 | |
|
d545d296d62c
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 | /****************************************************************************** |
|
d545d296d62c
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 |
|
d545d296d62c
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 | *****************************************************************************/ |
|
25875
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
38 | |
|
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
|
39 | 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
|
40 | gchar *name; |
|
23637
808f8f699af0
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23633
diff
changeset
|
41 | 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
|
42 | 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
|
43 | 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
|
44 | gchar *dir; |
|
23653
79934bf9a349
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:
23647
diff
changeset
|
45 | gchar *img; |
|
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
|
46 | } 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
|
47 | |
|
d545d296d62c
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 | * 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
|
50 | *****************************************************************************/ |
|
d545d296d62c
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 | |
|
23642
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
52 | static GObjectClass *parent_class = NULL; |
|
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
53 | |
|
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
|
54 | /****************************************************************************** |
|
d545d296d62c
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 |
|
d545d296d62c
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 | *****************************************************************************/ |
|
d545d296d62c
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 | |
|
d545d296d62c
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 { |
|
d545d296d62c
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, |
|
d545d296d62c
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, |
|
23664
cf938922baa5
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23653
diff
changeset
|
61 | PROP_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
|
62 | 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
|
63 | 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
|
64 | 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
|
65 | 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
|
66 | }; |
|
d545d296d62c
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 | |
|
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
|
68 | /****************************************************************************** |
|
25875
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
69 | * GObject Stuff |
|
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
|
70 | *****************************************************************************/ |
|
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
|
71 | |
|
d545d296d62c
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 |
|
d545d296d62c
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, |
|
25875
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
74 | GParamSpec *psec) |
|
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
|
75 | { |
|
23632
d0470bcd0b7e
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23631
diff
changeset
|
76 | 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
|
77 | |
|
25875
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
78 | switch (param_id) { |
|
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
|
79 | case PROP_NAME: |
|
23632
d0470bcd0b7e
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23631
diff
changeset
|
80 | 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
|
81 | break; |
|
23664
cf938922baa5
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23653
diff
changeset
|
82 | case PROP_DESCRIPTION: |
|
23637
808f8f699af0
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23633
diff
changeset
|
83 | 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
|
84 | 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
|
85 | case PROP_AUTHOR: |
|
23632
d0470bcd0b7e
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23631
diff
changeset
|
86 | 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
|
87 | 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
|
88 | case PROP_TYPE: |
|
23632
d0470bcd0b7e
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23631
diff
changeset
|
89 | 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
|
90 | 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
|
91 | case PROP_DIR: |
|
23632
d0470bcd0b7e
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23631
diff
changeset
|
92 | 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
|
93 | 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
|
94 | case PROP_IMAGE: |
|
23653
79934bf9a349
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:
23647
diff
changeset
|
95 | g_value_set_string(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
|
96 | 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
|
97 | 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
|
98 | 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
|
99 | 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
|
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 | |
|
d545d296d62c
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 |
|
d545d296d62c
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, |
|
25875
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
105 | GParamSpec *psec) |
|
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
|
106 | { |
|
23632
d0470bcd0b7e
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23631
diff
changeset
|
107 | 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
|
108 | |
|
25875
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
109 | switch (param_id) { |
|
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
|
110 | case PROP_NAME: |
|
23632
d0470bcd0b7e
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23631
diff
changeset
|
111 | 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
|
112 | break; |
|
23664
cf938922baa5
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23653
diff
changeset
|
113 | case PROP_DESCRIPTION: |
|
23637
808f8f699af0
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23633
diff
changeset
|
114 | 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
|
115 | 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
|
116 | case PROP_AUTHOR: |
|
23632
d0470bcd0b7e
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23631
diff
changeset
|
117 | 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
|
118 | break; |
|
23642
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
119 | case PROP_TYPE: |
|
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
120 | purple_theme_set_type_string(theme, g_value_get_string(value)); |
|
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
121 | 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
|
122 | case PROP_DIR: |
|
23632
d0470bcd0b7e
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23631
diff
changeset
|
123 | 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
|
124 | 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
|
125 | case PROP_IMAGE: |
|
23653
79934bf9a349
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:
23647
diff
changeset
|
126 | purple_theme_set_image(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
|
127 | 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
|
128 | 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
|
129 | 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
|
130 | 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
|
131 | } |
|
d545d296d62c
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 | |
|
d545d296d62c
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 |
|
23647
b856721ba8dd
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23646
diff
changeset
|
135 | purple_theme_init(GTypeInstance *instance, |
|
25875
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
136 | gpointer klass) |
|
23647
b856721ba8dd
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23646
diff
changeset
|
137 | { |
|
23653
79934bf9a349
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:
23647
diff
changeset
|
138 | PurpleTheme *theme = PURPLE_THEME(instance); |
|
79934bf9a349
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:
23647
diff
changeset
|
139 | theme->priv = g_new0(PurpleThemePrivate, 1); |
|
23647
b856721ba8dd
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23646
diff
changeset
|
140 | } |
|
b856721ba8dd
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23646
diff
changeset
|
141 | |
|
b856721ba8dd
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23646
diff
changeset
|
142 | static void |
|
23642
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
143 | purple_theme_finalize(GObject *obj) |
|
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
144 | { |
|
25875
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
145 | PurpleTheme *theme = PURPLE_THEME(obj); |
|
23642
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
146 | PurpleThemePrivate *priv = PURPLE_THEME_GET_PRIVATE(theme); |
|
25875
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
147 | |
|
23642
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
148 | g_free(priv->name); |
|
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
149 | g_free(priv->description); |
|
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
150 | g_free(priv->author); |
|
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
151 | g_free(priv->type); |
|
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
152 | g_free(priv->dir); |
|
23653
79934bf9a349
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:
23647
diff
changeset
|
153 | g_free(priv->img); |
|
23642
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
154 | |
|
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
155 | G_OBJECT_CLASS (parent_class)->finalize (obj); |
|
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
156 | } |
|
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
157 | |
|
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
158 | static void |
|
25875
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
159 | purple_theme_class_init(PurpleThemeClass *klass) |
|
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
|
160 | { |
|
d545d296d62c
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); |
|
d545d296d62c
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; |
|
d545d296d62c
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 | |
|
23642
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
164 | parent_class = g_type_class_peek_parent(klass); |
|
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
|
165 | |
|
d545d296d62c
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; |
|
d545d296d62c
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; |
|
23642
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
168 | obj_class->finalize = purple_theme_finalize; |
|
25875
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
169 | |
|
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
|
170 | /* NAME */ |
|
23647
b856721ba8dd
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23646
diff
changeset
|
171 | pspec = g_param_spec_string("name", "Name", |
|
25875
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
172 | "The name of the theme", |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
173 | NULL, |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
174 | G_PARAM_READWRITE | G_PARAM_CONSTRUCT); |
|
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
|
175 | g_object_class_install_property(obj_class, PROP_NAME, pspec); |
|
23664
cf938922baa5
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23653
diff
changeset
|
176 | |
|
cf938922baa5
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23653
diff
changeset
|
177 | /* DESCRIPTION */ |
|
23647
b856721ba8dd
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23646
diff
changeset
|
178 | pspec = g_param_spec_string("description", "Description", |
|
25875
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
179 | "The description of the theme", |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
180 | NULL, |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
181 | G_PARAM_READWRITE | G_PARAM_CONSTRUCT); |
|
23664
cf938922baa5
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23653
diff
changeset
|
182 | g_object_class_install_property(obj_class, PROP_DESCRIPTION, pspec); |
|
cf938922baa5
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23653
diff
changeset
|
183 | |
|
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
|
184 | /* AUTHOR */ |
|
23647
b856721ba8dd
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23646
diff
changeset
|
185 | pspec = g_param_spec_string("author", "Author", |
|
25875
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
186 | "The author of the theme", |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
187 | NULL, |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
188 | G_PARAM_READWRITE | G_PARAM_CONSTRUCT); |
|
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
|
189 | g_object_class_install_property(obj_class, PROP_AUTHOR, pspec); |
|
23664
cf938922baa5
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23653
diff
changeset
|
190 | |
|
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
|
191 | /* TYPE STRING (read only) */ |
|
23647
b856721ba8dd
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23646
diff
changeset
|
192 | pspec = g_param_spec_string("type", "Type", |
|
25875
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
193 | "The string represtenting the type of the theme", |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
194 | NULL, |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
195 | G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY); |
|
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
|
196 | g_object_class_install_property(obj_class, PROP_TYPE, pspec); |
|
23664
cf938922baa5
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23653
diff
changeset
|
197 | |
|
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
|
198 | /* DIRECTORY */ |
|
23647
b856721ba8dd
more gobject fixed
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23646
diff
changeset
|
199 | pspec = g_param_spec_string("directory", "Directory", |
|
25875
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
200 | "The directory that contains the theme and all its files", |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
201 | NULL, |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
202 | G_PARAM_READWRITE | G_PARAM_CONSTRUCT); |
|
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
|
203 | g_object_class_install_property(obj_class, PROP_DIR, pspec); |
|
23664
cf938922baa5
Changed how the prefs handle themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23653
diff
changeset
|
204 | |
|
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
|
205 | /* PREVIEW IMAGE */ |
|
23653
79934bf9a349
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:
23647
diff
changeset
|
206 | pspec = g_param_spec_string("image", "Image", |
|
25875
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
207 | "A preview image of the theme", |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
208 | NULL, |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
209 | G_PARAM_READWRITE); |
|
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
|
210 | 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
|
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 | |
|
d545d296d62c
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 | |
|
25875
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
214 | GType |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
215 | purple_theme_get_type(void) |
|
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 | { |
|
25875
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
217 | static GType type = 0; |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
218 | if (type == 0) { |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
219 | static const GTypeInfo info = { |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
220 | sizeof(PurpleThemeClass), |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
221 | NULL, /* base_init */ |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
222 | NULL, /* base_finalize */ |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
223 | (GClassInitFunc)purple_theme_class_init, /* class_init */ |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
224 | NULL, /* class_finalize */ |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
225 | NULL, /* class_data */ |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
226 | sizeof(PurpleTheme), |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
227 | 0, /* n_preallocs */ |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
228 | purple_theme_init, /* instance_init */ |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
229 | NULL, /* value table */ |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
230 | }; |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
231 | type = g_type_register_static (G_TYPE_OBJECT, |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
232 | "PurpleTheme", &info, G_TYPE_FLAG_ABSTRACT); |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
233 | } |
|
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
234 | return type; |
|
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
|
235 | } |
|
d545d296d62c
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 | |
|
23969
0c3fe3967b97
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23664
diff
changeset
|
237 | /****************************************************************************** |
|
0c3fe3967b97
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23664
diff
changeset
|
238 | * Helper Functions |
|
0c3fe3967b97
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23664
diff
changeset
|
239 | *****************************************************************************/ |
|
0c3fe3967b97
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23664
diff
changeset
|
240 | |
|
25875
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
241 | static gchar * |
|
23969
0c3fe3967b97
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23664
diff
changeset
|
242 | theme_clean_text(const gchar *text) |
|
0c3fe3967b97
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23664
diff
changeset
|
243 | { |
|
25875
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
244 | gchar *clean_text = g_markup_escape_text(text, -1); |
|
23969
0c3fe3967b97
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23664
diff
changeset
|
245 | g_strdelimit(clean_text, "\n", ' '); |
|
0c3fe3967b97
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23664
diff
changeset
|
246 | purple_str_strip_char(clean_text, '\r'); |
|
0c3fe3967b97
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23664
diff
changeset
|
247 | return clean_text; |
|
0c3fe3967b97
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23664
diff
changeset
|
248 | } |
|
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
|
249 | |
|
d545d296d62c
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
250 | /***************************************************************************** |
|
25875
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
251 | * Public API function |
|
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
|
252 | *****************************************************************************/ |
|
d545d296d62c
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 | |
|
23653
79934bf9a349
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:
23647
diff
changeset
|
254 | const 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
|
255 | 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
|
256 | { |
|
23638
c3e616f3abb0
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23637
diff
changeset
|
257 | PurpleThemePrivate *priv; |
|
23632
d0470bcd0b7e
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23631
diff
changeset
|
258 | |
|
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
|
259 | 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
|
260 | |
|
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
|
261 | 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
|
262 | 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
|
263 | } |
|
d545d296d62c
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 | |
|
d545d296d62c
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 | 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
|
266 | 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
|
267 | { |
|
23638
c3e616f3abb0
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23637
diff
changeset
|
268 | PurpleThemePrivate *priv; |
|
23632
d0470bcd0b7e
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23631
diff
changeset
|
269 | |
|
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
|
270 | 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
|
271 | |
|
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
|
272 | priv = PURPLE_THEME_GET_PRIVATE(theme); |
|
23632
d0470bcd0b7e
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23631
diff
changeset
|
273 | |
|
d0470bcd0b7e
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23631
diff
changeset
|
274 | g_free(priv->name); |
|
23969
0c3fe3967b97
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23664
diff
changeset
|
275 | priv->name = theme_clean_text(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
|
276 | } |
|
d545d296d62c
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
277 | |
|
23653
79934bf9a349
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:
23647
diff
changeset
|
278 | const gchar * |
|
23637
808f8f699af0
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23633
diff
changeset
|
279 | purple_theme_get_description(PurpleTheme *theme) |
|
808f8f699af0
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23633
diff
changeset
|
280 | { |
|
23638
c3e616f3abb0
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23637
diff
changeset
|
281 | PurpleThemePrivate *priv; |
|
23637
808f8f699af0
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23633
diff
changeset
|
282 | |
|
808f8f699af0
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23633
diff
changeset
|
283 | 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
|
284 | |
|
808f8f699af0
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23633
diff
changeset
|
285 | priv = PURPLE_THEME_GET_PRIVATE(theme); |
|
808f8f699af0
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23633
diff
changeset
|
286 | return priv->description; |
|
808f8f699af0
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23633
diff
changeset
|
287 | } |
|
808f8f699af0
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23633
diff
changeset
|
288 | |
|
808f8f699af0
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23633
diff
changeset
|
289 | void |
|
808f8f699af0
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23633
diff
changeset
|
290 | 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
|
291 | { |
|
23638
c3e616f3abb0
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23637
diff
changeset
|
292 | PurpleThemePrivate *priv; |
|
23637
808f8f699af0
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23633
diff
changeset
|
293 | |
|
808f8f699af0
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23633
diff
changeset
|
294 | 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
|
295 | |
|
808f8f699af0
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23633
diff
changeset
|
296 | priv = PURPLE_THEME_GET_PRIVATE(theme); |
|
808f8f699af0
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23633
diff
changeset
|
297 | |
|
808f8f699af0
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23633
diff
changeset
|
298 | g_free(priv->description); |
|
23969
0c3fe3967b97
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23664
diff
changeset
|
299 | priv->description = theme_clean_text(description); |
|
23637
808f8f699af0
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23633
diff
changeset
|
300 | } |
|
808f8f699af0
Added description to theme abstract class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23633
diff
changeset
|
301 | |
|
23653
79934bf9a349
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:
23647
diff
changeset
|
302 | const 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
|
303 | 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
|
304 | { |
|
23638
c3e616f3abb0
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23637
diff
changeset
|
305 | PurpleThemePrivate *priv; |
|
23632
d0470bcd0b7e
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23631
diff
changeset
|
306 | |
|
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
|
307 | 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
|
308 | |
|
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
|
309 | 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
|
310 | 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
|
311 | } |
|
d545d296d62c
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 | |
|
d545d296d62c
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 | 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
|
314 | 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
|
315 | { |
|
23638
c3e616f3abb0
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23637
diff
changeset
|
316 | PurpleThemePrivate *priv; |
|
23632
d0470bcd0b7e
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23631
diff
changeset
|
317 | |
|
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
|
318 | 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
|
319 | |
|
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
|
320 | priv = PURPLE_THEME_GET_PRIVATE(theme); |
|
23632
d0470bcd0b7e
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23631
diff
changeset
|
321 | |
|
d0470bcd0b7e
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23631
diff
changeset
|
322 | g_free(priv->author); |
|
23969
0c3fe3967b97
fixed some leaks and made theme loading safer
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23664
diff
changeset
|
323 | priv->author = theme_clean_text(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
|
324 | } |
|
d545d296d62c
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 | |
|
23653
79934bf9a349
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:
23647
diff
changeset
|
326 | const 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
|
327 | 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
|
328 | { |
|
23638
c3e616f3abb0
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23637
diff
changeset
|
329 | PurpleThemePrivate *priv; |
|
23632
d0470bcd0b7e
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23631
diff
changeset
|
330 | |
|
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
|
331 | 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
|
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 | 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
|
334 | 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
|
335 | } |
|
d545d296d62c
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 | |
|
23642
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
337 | /* < private > */ |
|
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
338 | void |
|
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
339 | purple_theme_set_type_string(PurpleTheme *theme, const gchar *type) |
|
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
340 | { |
|
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
341 | PurpleThemePrivate *priv; |
|
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
342 | |
|
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
343 | g_return_if_fail(PURPLE_IS_THEME(theme)); |
|
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
344 | |
|
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
345 | priv = PURPLE_THEME_GET_PRIVATE(theme); |
|
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
346 | |
|
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
347 | g_free(priv->type); |
|
23653
79934bf9a349
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:
23647
diff
changeset
|
348 | priv->type = g_strdup(type); |
|
23642
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
349 | } |
|
ea82d96e4ebd
Fixed some things needed for proper gobfication (init/finalize/etc)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23638
diff
changeset
|
350 | |
|
23653
79934bf9a349
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:
23647
diff
changeset
|
351 | const gchar * |
|
25875
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
352 | purple_theme_get_dir(PurpleTheme *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
|
353 | { |
|
23638
c3e616f3abb0
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23637
diff
changeset
|
354 | PurpleThemePrivate *priv; |
|
23632
d0470bcd0b7e
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23631
diff
changeset
|
355 | |
|
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
|
356 | 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
|
357 | |
|
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
|
358 | 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
|
359 | 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
|
360 | } |
|
d545d296d62c
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 | |
|
d545d296d62c
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 | 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
|
363 | 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
|
364 | { |
|
23638
c3e616f3abb0
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23637
diff
changeset
|
365 | PurpleThemePrivate *priv; |
|
23632
d0470bcd0b7e
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23631
diff
changeset
|
366 | |
|
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
|
367 | 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
|
368 | |
|
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
|
369 | priv = PURPLE_THEME_GET_PRIVATE(theme); |
|
23632
d0470bcd0b7e
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23631
diff
changeset
|
370 | |
|
d0470bcd0b7e
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23631
diff
changeset
|
371 | g_free(priv->dir); |
|
23653
79934bf9a349
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:
23647
diff
changeset
|
372 | priv->dir = g_strdup(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
|
373 | } |
|
d545d296d62c
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
374 | |
|
23653
79934bf9a349
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:
23647
diff
changeset
|
375 | const 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
|
376 | 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
|
377 | { |
|
23638
c3e616f3abb0
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23637
diff
changeset
|
378 | PurpleThemePrivate *priv; |
|
23632
d0470bcd0b7e
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23631
diff
changeset
|
379 | |
|
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
|
380 | 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
|
381 | |
|
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
|
382 | priv = PURPLE_THEME_GET_PRIVATE(theme); |
|
23632
d0470bcd0b7e
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23631
diff
changeset
|
383 | |
|
23653
79934bf9a349
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:
23647
diff
changeset
|
384 | return priv->img; |
|
79934bf9a349
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:
23647
diff
changeset
|
385 | } |
|
79934bf9a349
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:
23647
diff
changeset
|
386 | |
|
79934bf9a349
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:
23647
diff
changeset
|
387 | gchar * |
|
79934bf9a349
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:
23647
diff
changeset
|
388 | purple_theme_get_image_full(PurpleTheme *theme) |
|
79934bf9a349
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:
23647
diff
changeset
|
389 | { |
|
79934bf9a349
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:
23647
diff
changeset
|
390 | const gchar *filename = purple_theme_get_image(theme); |
|
25875
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
391 | |
|
23653
79934bf9a349
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:
23647
diff
changeset
|
392 | g_return_val_if_fail(filename, NULL); |
|
79934bf9a349
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:
23647
diff
changeset
|
393 | |
|
79934bf9a349
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:
23647
diff
changeset
|
394 | return g_build_filename(purple_theme_get_dir(PURPLE_THEME(theme)), filename, NULL); |
|
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
|
395 | } |
|
d545d296d62c
Added basic theme for libpurple to be used by theme manager and loaders (abstract gobject)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
396 | |
|
25875
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
397 | void |
|
23653
79934bf9a349
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:
23647
diff
changeset
|
398 | purple_theme_set_image(PurpleTheme *theme, const gchar *img) |
|
25875
a98b16817658
Lots of minor whitespace and comment changes:
Mark Doliner <markdoliner@pidgin.im>
parents:
25005
diff
changeset
|
399 | { |
|
23638
c3e616f3abb0
changed the purple theme formatting a bit (minor)
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23637
diff
changeset
|
400 | PurpleThemePrivate *priv; |
|
23632
d0470bcd0b7e
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23631
diff
changeset
|
401 | |
|
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
|
402 | 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
|
403 | |
|
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
|
404 | priv = PURPLE_THEME_GET_PRIVATE(theme); |
|
23632
d0470bcd0b7e
fixed formatting and get/set properties
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23631
diff
changeset
|
405 | |
|
23653
79934bf9a349
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:
23647
diff
changeset
|
406 | g_free(priv->img); |
|
79934bf9a349
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:
23647
diff
changeset
|
407 | priv->img = g_strdup(img); |
|
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
|
408 | } |