This patch allow the list of profiles from
/usr/share/enlightenment/data/config/ too, not only homedir, also includes a
check for don't add in the list duplicated entry's
Thanatermesis
diff -Naur e/src/bin/e_config.c e.patch/src/bin/e_config.c
--- e/src/bin/e_config.c 2008-09-25 23:02:51.237697047 +0000
+++ e.patch/src/bin/e_config.c 2008-09-30 01:16:46.143863597 +0000
@@ -1797,28 +1797,56 @@
EAPI Evas_List *
e_config_profile_list(void)
{
- Ecore_List *files;
+ char *file;
char buf[4096];
- const char *homedir;
+ const char *dir;
+ Ecore_List *names;
+ Ecore_List *files;
Evas_List *flist = NULL;
+
+ names = ecore_list_new();
+
+ dir = e_user_homedir_get();
+ snprintf(buf, sizeof(buf), "%s/.e/e/config/", dir);
- homedir = e_user_homedir_get();
- snprintf(buf, sizeof(buf), "%s/.e/e/config/", homedir);
files = ecore_file_ls(buf);
if (files)
{
- char *file;
-
- ecore_list_first_goto(files);
- while ((file = ecore_list_current(files)))
- {
- snprintf(buf, sizeof(buf), "%s/.e/e/config/%s", homedir, file);
- if (ecore_file_is_dir(buf))
- flist = evas_list_append(flist, strdup(file));
- ecore_list_next(files);
- }
+ ecore_list_first_goto(files);
+ while ((file = ecore_list_next(files)))
+ {
+ snprintf(buf, sizeof(buf), "%s/.e/e/config/%s", dir, file);
+ if (ecore_file_is_dir(buf))
+ ecore_list_append(names, strdup(file));
+ }
ecore_list_destroy(files);
}
+
+ dir = e_prefix_data_get();
+ snprintf(buf, sizeof(buf), "%s/data/config", dir);
+
+ files = ecore_file_ls(buf);
+ if (files)
+ {
+ ecore_list_first_goto(files);
+ while ((file = ecore_list_next(files)))
+ {
+ snprintf(buf, sizeof(buf), "%s/data/config/%s", dir, file);
+ if (ecore_file_is_dir(buf))
+ {
+ if (!ecore_list_find(names, ecore_str_compare, file))
+ ecore_list_append(names, strdup(file));
+ }
+ }
+ ecore_list_destroy(files);
+ }
+
+ ecore_list_first_goto(names);
+ while ((files = ecore_list_next(names)))
+ flist = evas_list_append(flist, files);
+
+ ecore_list_destroy(names);
+
return flist;
}
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel