Enlightenment CVS committal Author : raster Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_config.c e_config.h e_theme.c Log Message: save and load themes... =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_config.c,v retrieving revision 1.31 retrieving revision 1.32 diff -u -3 -r1.31 -r1.32 --- e_config.c 29 Apr 2005 16:04:42 -0000 1.31 +++ e_config.c 1 May 2005 16:21:57 -0000 1.32 @@ -26,11 +26,20 @@ static E_Config_DD *_e_config_module_edd = NULL; static E_Config_DD *_e_config_font_fallback_edd = NULL; static E_Config_DD *_e_config_font_default_edd = NULL; +static E_Config_DD *_e_config_theme_edd = NULL; /* externally accessible functions */ int e_config_init(void) { + _e_config_theme_edd = E_CONFIG_DD_NEW("E_Config_Theme", E_Config_Theme); +#undef T +#undef D +#define T E_Config_Theme +#define D _e_config_theme_edd + E_CONFIG_VAL(D, T, category, STR); + E_CONFIG_VAL(D, T, file, STR); + _e_config_module_edd = E_CONFIG_DD_NEW("E_Config_Module", E_Config_Module); #undef T #undef D @@ -77,6 +86,7 @@ E_CONFIG_LIST(D, T, modules, _e_config_module_edd); E_CONFIG_LIST(D, T, font_fallbacks, _e_config_font_fallback_edd); E_CONFIG_LIST(D, T, font_defaults, _e_config_font_default_edd); + E_CONFIG_LIST(D, T, themes, _e_config_theme_edd); e_config = e_config_domain_load("e", _e_config_edd); if (!e_config) @@ -163,6 +173,14 @@ e_config->font_defaults = evas_list_append(e_config->font_defaults, efd); } + { + E_Config_Theme *et; + + et = E_NEW(E_Config_Theme, 1); + et->category = strdup("theme"); + et->file = strdup("defaulty.edj"); + e_config->themes = evas_list_append(e_config->themes, et); + } e_config_save_queue(); } @@ -175,6 +193,23 @@ E_CONFIG_LIMIT(e_config->framerate, 1.0, 200.0); E_CONFIG_LIMIT(e_config->image_cache, 0, 256 * 1024); E_CONFIG_LIMIT(e_config->font_cache, 0, 32 * 1024); + + { + Evas_List *l; + + for (l = e_config->themes; l; l = l->next) + { + E_Config_Theme *et; + char buf[256]; + + et = l->data; + snprintf(buf, sizeof(buf), "base/%s", et->category); + printf("THEME: %s %s\n", buf, et->file); + e_theme_file_set(buf, et->file); + } + } + /* FIXME: run through themes and set */ + return 1; } @@ -211,6 +246,16 @@ E_FREE(efd->font); E_FREE(efd); } + while (e_config->themes) + { + E_Config_Theme *et; + + et = e_config->themes->data; + e_config->themes = evas_list_remove_list(e_config->themes, e_config->themes); + E_FREE(et->category); + E_FREE(et->file); + E_FREE(et); + } E_FREE(e_config->desktop_default_background); E_FREE(e_config); =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_config.h,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- e_config.h 29 Apr 2005 16:04:42 -0000 1.13 +++ e_config.h 1 May 2005 16:21:57 -0000 1.14 @@ -33,6 +33,7 @@ typedef struct _E_Config E_Config; typedef struct _E_Config_Module E_Config_Module; +typedef struct _E_Config_Theme E_Config_Theme; typedef Eet_Data_Descriptor E_Config_DD; #else @@ -57,6 +58,7 @@ Evas_List *modules; Evas_List *font_fallbacks; Evas_List *font_defaults; + Evas_List *themes; }; struct _E_Config_Module @@ -65,6 +67,12 @@ unsigned char enabled; }; +struct _E_Config_Theme +{ + char *category; + char *file; +}; + EAPI int e_config_init(void); EAPI int e_config_shutdown(void); =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_theme.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- e_theme.c 24 Apr 2005 21:55:19 -0000 1.5 +++ e_theme.c 1 May 2005 16:21:57 -0000 1.6 @@ -27,22 +27,22 @@ /* always fall back to the default theme. the rest after this are config */ /* values users can set */ e_theme_file_set("base", "default.edj"); - /* now add more */ - /* FIXME: load these from a config and save them to a config x*/ - e_theme_file_set("base/theme", "default.edj"); - e_theme_file_set("base/theme/borders", "default.edj"); - e_theme_file_set("base/theme/menus", "default.edj"); - e_theme_file_set("base/theme/error", "default.edj"); - e_theme_file_set("base/theme/gadman", "default.edj"); - e_theme_file_set("base/theme/dnd", "default.edj"); - e_theme_file_set("base/theme/modules", "default.edj"); - e_theme_file_set("base/theme/modules/pager", "default.edj"); - e_theme_file_set("base/theme/modules/ibar", "default.edj"); - e_theme_file_set("base/theme/modules/clock", "default.edj"); - e_theme_file_set("base/theme/modules/battery", "default.edj"); - e_theme_file_set("base/theme/modules/cpufreq", "default.edj"); - e_theme_file_set("base/theme/modules/temperature", "default.edj"); - return 1; +/* + * other possible categories... + * e_theme_file_set("base/theme/borders", "default.edj"); + * e_theme_file_set("base/theme/menus", "default.edj"); + * e_theme_file_set("base/theme/error", "default.edj"); + * e_theme_file_set("base/theme/gadman", "default.edj"); + * e_theme_file_set("base/theme/dnd", "default.edj"); + * e_theme_file_set("base/theme/modules", "default.edj"); + * e_theme_file_set("base/theme/modules/pager", "default.edj"); + * e_theme_file_set("base/theme/modules/ibar", "default.edj"); + * e_theme_file_set("base/theme/modules/clock", "default.edj"); + * e_theme_file_set("base/theme/modules/battery", "default.edj"); + * e_theme_file_set("base/theme/modules/cpufreq", "default.edj"); + * e_theme_file_set("base/theme/modules/temperature", "default.edj"); + */ + return 1; } int ------------------------------------------------------- This SF.Net email is sponsored by: NEC IT Guy Games. Get your fingers limbered up and give it your best shot. 4 great events, 4 opportunities to win big! Highest score wins.NEC IT Guy Games. Play to win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs