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