Mercurial > pidgin
comparison libpurple/theme-loader.c @ 32728:5050da3d9c95
Add a directory probe to theme loaders. The default just checks for
$dir/purple/$type as the theme manager currently does.
author | Elliott Sales de Andrade <qulogic@pidgin.im> |
---|---|
date | Sat, 03 Mar 2012 06:39:49 +0000 |
parents | 4d92a431d0a1 |
children |
comparison
equal
deleted
inserted
replaced
32727:089acf3a8aa1 | 32728:5050da3d9c95 |
---|---|
81 break; | 81 break; |
82 default: | 82 default: |
83 G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, psec); | 83 G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, psec); |
84 break; | 84 break; |
85 } | 85 } |
86 } | |
87 | |
88 static gboolean | |
89 purple_theme_loader_probe_directory(PurpleThemeLoader *loader, const gchar *dir) | |
90 { | |
91 const gchar *type = purple_theme_loader_get_type_string(loader); | |
92 char *themedir; | |
93 gboolean result; | |
94 | |
95 /* Checks for directory as $root/purple/$type */ | |
96 themedir = g_build_filename(dir, "purple", type, NULL); | |
97 result = g_file_test(themedir, G_FILE_TEST_IS_DIR); | |
98 g_free(themedir); | |
99 | |
100 return result; | |
86 } | 101 } |
87 | 102 |
88 static void | 103 static void |
89 purple_theme_loader_finalize(GObject *obj) | 104 purple_theme_loader_finalize(GObject *obj) |
90 { | 105 { |
173 PurpleTheme * | 188 PurpleTheme * |
174 purple_theme_loader_build(PurpleThemeLoader *loader, const gchar *dir) | 189 purple_theme_loader_build(PurpleThemeLoader *loader, const gchar *dir) |
175 { | 190 { |
176 return PURPLE_THEME_LOADER_GET_CLASS(loader)->purple_theme_loader_build(dir); | 191 return PURPLE_THEME_LOADER_GET_CLASS(loader)->purple_theme_loader_build(dir); |
177 } | 192 } |
193 | |
194 gboolean | |
195 purple_theme_loader_probe(PurpleThemeLoader *loader, const gchar *dir) | |
196 { | |
197 if (PURPLE_THEME_LOADER_GET_CLASS(loader)->probe_directory != NULL) | |
198 return PURPLE_THEME_LOADER_GET_CLASS(loader)->probe_directory(dir); | |
199 else | |
200 return purple_theme_loader_probe_directory(loader, dir); | |
201 } | |
202 |