Enlightenment CVS committal

Author  : devilhorns
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_int_config_startup.c e_thumb.c 


Log Message:
Add thumbnailing for init screens :) (Thanks CodeWarrior)
Make Startup config dialog use static thumbnails in list now.

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_startup.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- e_int_config_startup.c      5 Jun 2006 03:16:16 -0000       1.4
+++ e_int_config_startup.c      5 Jun 2006 11:48:26 -0000       1.5
@@ -156,13 +156,10 @@
      {
        Evas_Object *ic = NULL;
 
-       ic = edje_object_add(evas);
-       e_util_edje_icon_set(ic, "enlightenment/run");
-       
-       /*
-       ic = e_widget_preview_add(evas, 48, 48);
-       e_widget_preview_edje_set(ic, s, "init/splash");
-       */
+       if (!e_thumb_exists(c)) 
+         ic = e_thumb_generate_begin(c, 48, 48, cfd->dia->win->evas, &ic, 
NULL, NULL);
+       else 
+         ic = e_thumb_evas_object_get(c, cfd->dia->win->evas, 48, 48, 1);
        
        e_widget_ilist_append(il, ic, _("Theme Init"), _ilist_cb_init_selected, 
cfd, "");
        if (!e_config->init_default_theme)
@@ -229,26 +226,10 @@
             if (ecore_file_is_dir(full_path)) continue;
             if (!e_util_edje_collection_exists(full_path, "init/splash")) 
continue;
 
-            ic = edje_object_add(evas);
-            e_util_edje_icon_set(ic, "enlightenment/run");
-            
-            /*
-             * Using live previews for icons in list here
-             * really drains resources. */
-            
-            /*
-            ic = e_widget_preview_add(evas, 48, 48);
-            e_widget_preview_edje_set(ic, full_path, "init/splash");
-            */
-            
-            /* e_thumb_generate cannot handle init splash yet */ 
-
-            /*
-            if (!e_thumb_exists(full_path))
-              ic = e_thumb_generate_begin(full_path, 48, 48, evas, &ic, NULL, 
NULL);
-            else
-              ic = e_thumb_evas_object_get(full_path, evas, 48, 48, 1);
-            */
+            if (!e_thumb_exists(c)) 
+              ic = e_thumb_generate_begin(full_path, 48, 48, 
cfd->dia->win->evas, &ic, NULL, NULL);
+            else 
+              ic = e_thumb_evas_object_get(full_path, cfd->dia->win->evas, 48, 
48, 1);
             
             e_widget_ilist_append(il, ic, ecore_file_strip_ext(init_file), 
_ilist_cb_init_selected, cfd, full_path);
             
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_thumb.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -3 -r1.25 -r1.26
--- e_thumb.c   2 Mar 2006 12:03:48 -0000       1.25
+++ e_thumb.c   5 Jun 2006 11:48:26 -0000       1.26
@@ -280,9 +280,10 @@
 _e_thumb_etheme_create(char *file, Evas_Coord w, Evas_Coord h, int *ww, int 
*hh, int *alpha, Evas_Object **im, Ecore_Evas **buf)
 {
    Evas *evasbuf;   
-   Evas_Object *wallpaper, *window, *clock, *start, **pager;
+   Evas_Object *wallpaper, *window, *clock, *start, **pager, *init;
    const int *pixels;   
-
+   int is_init;
+   
    *ww = 640;
    *hh = 480;
    *alpha = 0;   
@@ -292,63 +293,77 @@
    
    *buf = ecore_evas_buffer_new(w, h);
    evasbuf = ecore_evas_get(*buf);
-   
-   wallpaper = edje_object_add(evasbuf);
-   window    = edje_object_add(evasbuf);
-   clock     = edje_object_add(evasbuf);
-   start     = edje_object_add(evasbuf);
-   pager     = E_NEW(Evas_Object*, 3);
-   pager[0]  = edje_object_add(evasbuf);
-   pager[1]  = edje_object_add(evasbuf);
-   pager[2]  = edje_object_add(evasbuf);
-   
-   edje_object_file_set(wallpaper, file, "desktop/background");   
-   edje_object_file_set(window,        file, "widgets/border/default/border");
-   edje_object_file_set(clock, file, "modules/clock/main");   
-   edje_object_file_set(clock, file, "modules/clock/main");   
-   edje_object_file_set(start, file, "modules/start/main");   
-   edje_object_file_set(pager[0], file, "modules/pager/main");
-   edje_object_file_set(pager[1], file, "modules/pager/desk");
-   edje_object_file_set(pager[2], file, "modules/pager/window");   
-   edje_object_part_text_set(window, "title_text", file);   
-   edje_object_part_swallow(pager[0], "items", pager[1]);
-   edje_object_part_swallow(pager[1], "items", pager[2]);
-      
-   /* wallpaper */
-   evas_object_move(wallpaper, 0, 0);
-   evas_object_resize(wallpaper, w, h);   
-   /* main window */
-   evas_object_move(window, (w * 0.1), (h * 0.05));
-   evas_object_resize(window, w * 0.8, h * 0.75);   
-   /* clock */
-   evas_object_move(clock, (w * 0.9), (h * 0.9));
-   evas_object_resize(clock, w * 0.1, h * 0.1);
-   /* start */
-   evas_object_move(start, 0.1, (h * 0.9));
-   evas_object_resize(start, w * 0.1, h * 0.1);   
-   /* pager */
-   evas_object_move(pager[0], (w * 0.3), (h * 0.9));
-   evas_object_resize(pager[0], w * 0.1, h * 0.1);
+
+   is_init = e_util_edje_collection_exists(file, "init/splash");
+   if (is_init) 
+     {
+       init = edje_object_add(evasbuf);
+       edje_object_file_set(init, file, "init/splash");
+       evas_object_move(init, 0, 0);
+       evas_object_resize(init, w, h);         
+       evas_object_show(init);
+       pixels = ecore_evas_buffer_pixels_get(*buf);    
+       evas_object_del(init);  
+     }
+   else 
+     {
+       wallpaper = edje_object_add(evasbuf);
+       window    = edje_object_add(evasbuf);
+       clock     = edje_object_add(evasbuf);
+       start     = edje_object_add(evasbuf);
+       pager     = E_NEW(Evas_Object*, 3);
+       pager[0]  = edje_object_add(evasbuf);
+       pager[1]  = edje_object_add(evasbuf);
+       pager[2]  = edje_object_add(evasbuf);
+
+       edje_object_file_set(wallpaper, file, "desktop/background");   
+       edje_object_file_set(window,    file, "widgets/border/default/border");
+       edje_object_file_set(clock, file, "modules/clock/main");   
+       edje_object_file_set(clock, file, "modules/clock/main");   
+       edje_object_file_set(start, file, "modules/start/main");   
+       edje_object_file_set(pager[0], file, "modules/pager/main");
+       edje_object_file_set(pager[1], file, "modules/pager/desk");
+       edje_object_file_set(pager[2], file, "modules/pager/window");   
+       edje_object_part_text_set(window, "title_text", file);   
+       edje_object_part_swallow(pager[0], "items", pager[1]);
+       edje_object_part_swallow(pager[1], "items", pager[2]);
+   
+       /* wallpaper */
+       evas_object_move(wallpaper, 0, 0);
+       evas_object_resize(wallpaper, w, h);   
+       /* main window */
+       evas_object_move(window, (w * 0.1), (h * 0.05));
+       evas_object_resize(window, w * 0.8, h * 0.75);   
+       /* clock */
+       evas_object_move(clock, (w * 0.9), (h * 0.9));
+       evas_object_resize(clock, w * 0.1, h * 0.1);
+       /* start */
+       evas_object_move(start, 0.1, (h * 0.9));
+       evas_object_resize(start, w * 0.1, h * 0.1);   
+       /* pager */
+       evas_object_move(pager[0], (w * 0.3), (h * 0.9));
+       evas_object_resize(pager[0], w * 0.1, h * 0.1);
       
-   evas_object_show(wallpaper);
-   evas_object_show(window);
-   evas_object_show(clock);
-   evas_object_show(start);
-   evas_object_show(pager[0]);
-   evas_object_show(pager[1]);
-   evas_object_show(pager[2]);
-   
-   pixels = ecore_evas_buffer_pixels_get(*buf);
-   
-   evas_object_del(wallpaper);
-   evas_object_del(window);
-   evas_object_del(clock);
-   evas_object_del(start);
-   evas_object_del(pager[0]);
-   evas_object_del(pager[1]);
-   evas_object_del(pager[2]);   
-   free(pager);
-   
+       evas_object_show(wallpaper);
+       evas_object_show(window);
+       evas_object_show(clock);
+       evas_object_show(start);
+       evas_object_show(pager[0]);
+       evas_object_show(pager[1]);
+       evas_object_show(pager[2]);
+
+       pixels = ecore_evas_buffer_pixels_get(*buf);
+       
+       evas_object_del(wallpaper);
+       evas_object_del(window);
+       evas_object_del(clock);
+       evas_object_del(start);
+       evas_object_del(pager[0]);
+       evas_object_del(pager[1]);
+       evas_object_del(pager[2]);   
+       free(pager);
+     }
+
    return pixels;
 }
 




_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to