Enlightenment CVS committal
Author : tsauerbeck
Project : misc
Module : eplayer
Dir : misc/eplayer/src
Modified Files:
interface.c
Log Message:
load themes from ~/.e/apps/eplayer/themes, too
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/interface.c,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -3 -r1.26 -r1.27
--- interface.c 28 Dec 2003 13:17:49 -0000 1.26
+++ interface.c 6 Jan 2004 20:26:51 -0000 1.27
@@ -121,8 +121,28 @@
pli->comment[COMMENT_ID_ALBUM]);
}
+/**
+ * Finds the filename for the theme @name.
+ * Looks in: ~/.e/apps/eplayer/themes
+ * $prefix/share/eplayer/themes
+ */
+static char *find_theme(const char *name) {
+ static char eet[PATH_MAX + 1];
+ struct stat st;
+
+ snprintf(eet, sizeof(eet),
+ "%s/.e/apps/" PACKAGE "/" "themes/%s.eet",
+ getenv("HOME"), name);
+
+ if (!stat(eet, &st))
+ return eet;
+
+ snprintf(eet, sizeof(eet), DATA_DIR "/themes/%s.eet", name);
+
+ return stat(eet, &st) ? NULL : eet;
+}
+
int ui_init_edje(ePlayer *player, const char *name) {
- char eet[PATH_MAX + 1];
double edje_w = 0, edje_h = 0;
debug(DEBUG_LEVEL_INFO, "EDJE: Defining Edje \n");
@@ -130,10 +150,9 @@
player->gui.edje = edje_object_add(player->gui.evas);
evas_object_name_set(player->gui.edje, "main_edje");
- snprintf(eet, sizeof(eet), DATA_DIR "/themes/%s.eet",
- player->cfg.theme);
-
- if (!edje_object_file_set(player->gui.edje, eet, name)) {
+ if (!edje_object_file_set(player->gui.edje,
+ find_theme(player->cfg.theme),
+ name)) {
debug(DEBUG_LEVEL_CRITICAL, "Cannot load theme '%s'!\n",
player->cfg.theme);
return 0;
@@ -216,16 +235,14 @@
static void show_playlist_item(ePlayer *player, PlayListItem *pli) {
Evas_Object *o;
- char len[32], eet[PATH_MAX + 1];
+ char len[32];
double w = 0, h = 0;
/* add the item to the container */
o = edje_object_add(player->gui.evas);
- snprintf(eet, sizeof(eet), DATA_DIR "/themes/%s.eet",
- player->cfg.theme);
-
- edje_object_file_set(o, eet, "playlist_item");
+ edje_object_file_set(o, find_theme(player->cfg.theme),
+ "playlist_item");
/* set parts text */
snprintf(len, sizeof(len), "%i:%02i", pli->duration / 60,
-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills. Sign up for IBM's
Free Linux Tutorials. Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs