Enlightenment CVS committal

Author  : dj2
Project : e17
Module  : apps/e_utils

Dir     : e17/apps/e_utils/src/bin/emblem


Modified Files:
        emblem_ui.c 


Log Message:
- update to use the background directory list returned from E17.
  - can now set the default background from the e17 theme back again

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e_utils/src/bin/emblem/emblem_ui.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- emblem_ui.c 23 Mar 2005 21:37:55 -0000      1.8
+++ emblem_ui.c 9 Apr 2005 06:10:46 -0000       1.9
@@ -26,13 +26,14 @@
 #define SCREEN_W 1600
 #define SCREEN_H 1200
 
-static int emblem_load_bgs(Emblem *em);
+static int emblem_load_bgs(Emblem *em, char *dir_path);
 static Evas_Object *emblem_evas_object_get(Emblem *em, const char *fname,
                                                 Evas_Coord w, Evas_Coord h);
 static int emblem_ui_e_bg_get(void *data, int type, void *ev);
+static int emblem_ui_e_bg_dirs_list(void *data, int type, void *ev);
 static void emblem_current_bg_set(Emblem *em, char *file);
 
-static void emblem_ui_init_job_cb(void *data);
+static void emblem_ui_init_dir(Emblem *em, char *dir);
 static void emblem_ui_resize_cb(Ecore_Evas *ee);
 
 static void emblem_current_sel_cb(void *data, Evas *evas, Evas_Object *obj,
@@ -92,9 +93,10 @@
 
     ecore_event_handler_add(E_RESPONSE_BACKGROUND_GET, 
                                 emblem_ui_e_bg_get, em);
+    ecore_event_handler_add(E_RESPONSE_BACKGROUND_DIRS_LIST,
+                                emblem_ui_e_bg_dirs_list, em);
     e_background_get();
-
-    ecore_job_add(emblem_ui_init_job_cb, em);
+    e_background_dirs_list();
 
     return 1;
 }
@@ -166,14 +168,12 @@
 }
 
 static void
-emblem_ui_init_job_cb(void *data)
+emblem_ui_init_dir(Emblem *em, char *dir)
 {
-    Emblem *em;
     Evas_Coord w;
     double l;
 
-    em = data;
-    emblem_load_bgs(em);
+    emblem_load_bgs(em, dir);
 
     edje_object_part_geometry_get(em->gui.edje, "menu_bar", NULL, NULL, &w, 
NULL);
     l = esmart_container_elements_length_get(em->gui.menu);
@@ -194,14 +194,13 @@
 }
 
 static int
-emblem_load_bgs(Emblem *em)
+emblem_load_bgs(Emblem *em, char *dir_path)
 {
     DIR *dir;
     struct dirent *entry;
     char path[PATH_MAX];
 
-    snprintf(path, PATH_MAX, "%s/.e/e/backgrounds", getenv("HOME"));
-    dir = opendir(path);
+    dir = opendir(dir_path);
     if (!dir) return 0;
 
     while ((entry = readdir(dir)))
@@ -212,9 +211,7 @@
         if (!strcmp(entry->d_name, ".")) continue;
         if (!strstr(entry->d_name, ".edj")) continue;
 
-        snprintf(path, PATH_MAX, "%s/.e/e/backgrounds/%s", 
-                                getenv("HOME"), entry->d_name);
-
+        snprintf(path, PATH_MAX, "%s/%s", dir_path, entry->d_name);
         o = emblem_evas_object_get(em, path, THUMB_W, THUMB_H);
         evas_object_resize(o, 64, 48);
         
@@ -223,6 +220,7 @@
 
         esmart_container_element_append(em->gui.menu, o);
     }
+    closedir(dir);
     return 1;
 }
 
@@ -300,10 +298,26 @@
 
     e = ev;
     em = data;
-    emblem_current_bg_set(em, e->data);
+    emblem_current_bg_set(em, e->file);
+
+    return 1;
+    type = 0;
+}
+
+static int
+emblem_ui_e_bg_dirs_list(void *data, int type, void *ev)
+{
+    Emblem *em;
+    E_Response_Background_Dirs_List *e;
+    int i;
+
+    e = ev;
+    em = data;
+
+    for (i = 0; i < e->count; i++)
+        emblem_ui_init_dir(em, e->dirs[i]);
 
     return 1;
-    data = NULL;
     type = 0;
 }
 




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to