Enlightenment CVS committal
Author : tsauerbeck
Project : misc
Module : embrace
Dir : misc/embrace/src
Modified Files:
embrace.c
Log Message:
minor config/theme loading improvments
===================================================================
RCS file: /cvsroot/enlightenment/misc/embrace/src/embrace.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -3 -r1.19 -r1.20
--- embrace.c 5 May 2004 18:33:35 -0000 1.19
+++ embrace.c 5 May 2004 18:42:50 -0000 1.20
@@ -1,5 +1,5 @@
/*
- * $Id: embrace.c,v 1.19 2004/05/05 18:33:35 tsauerbeck Exp $
+ * $Id: embrace.c,v 1.20 2004/05/05 18:42:50 tsauerbeck Exp $
*
* Copyright (C) 2004 Embrace project.
*
@@ -288,10 +288,34 @@
return evas_list_count (e->mailboxes);
}
-static bool config_load_misc (Embrace *e, E_DB_File *edb)
+/**
+ * Finds the filename for the theme @name.
+ * Looks in: ~/.e/apps/embrace/themes
+ * DATADIR/themes
+ */
+static char *find_theme (const char *name)
{
+ static char eet[PATH_MAX + 1];
struct stat st;
- char *str, eet[PATH_MAX + 1];
+
+ assert (name);
+
+ 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;
+}
+
+static bool config_load_misc (Embrace *e, E_DB_File *edb)
+{
+ char *str, *theme;
+ bool ret = false;
assert (e);
assert (edb);
@@ -302,30 +326,21 @@
free (str);
}
- if (!(str = e_db_str_get (edb, "/" PACKAGE "/theme")))
+ if (!(str = e_db_str_get (edb, "/" PACKAGE "/theme"))) {
+ fprintf (stderr, "'theme' not specified, "
+ "falling back to the default theme instead!\n");
str = strdup ("default");
-
- /* look for themes in various places...
- * try ~ first */
- snprintf (eet, sizeof (eet),
- "%s/.e/apps/" PACKAGE "/themes/%s.eet",
- getenv("HOME"), str);
-
- if (!stat (eet, &st)) {
- snprintf (e->cfg.theme, sizeof (e->cfg.theme), "%s", eet);
- free (str);
- return true;
}
- /* no luck. try $prefix/share next. */
- snprintf (eet, sizeof (eet), DATA_DIR "/themes/%s.eet", str);
+ if ((theme = find_theme (str))) {
+ snprintf (e->cfg.theme, sizeof (e->cfg.theme), "%s", theme);
+ ret = true;
+ } else
+ fprintf (stderr, "Cannot find theme '%s'!\n", str);
+
free (str);
- if (!stat (eet, &st)) {
- snprintf (e->cfg.theme, sizeof (e->cfg.theme), "%s", eet);
- return true;
- } else
- return false;
+ return ret;
}
static E_DB_File *open_edb (Embrace *e)
@@ -548,7 +563,7 @@
else
#endif
e->gui.ee = ecore_evas_software_x11_new (NULL, 0, 0, 0, 0, 0);
-
+
if (!e->gui.ee)
return false;
-------------------------------------------------------
This SF.Net email is sponsored by Sleepycat Software
Learn developer strategies Cisco, Motorola, Ericsson & Lucent use to
deliver higher performing products faster, at low TCO.
http://www.sleepycat.com/telcomwpreg.php?From=osdnemail3
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs