forked from enlightenment/enlightenment
Add thumbnailing for init screens :) (Thanks CodeWarrior)
Make Startup config dialog use static thumbnails in list now. SVN revision: 23181
This commit is contained in:
parent
8a6d73acf6
commit
f4814dc96d
|
@ -156,13 +156,10 @@ _load_inits(E_Config_Dialog *cfd, Evas_Object *il)
|
|||
{
|
||||
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 @@ _load_inits(E_Config_Dialog *cfd, Evas_Object *il)
|
|||
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);
|
||||
|
||||
|
|
|
@ -280,9 +280,10 @@ const int *
|
|||
_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 @@ _e_thumb_etheme_create(char *file, Evas_Coord w, Evas_Coord h, int *ww, int *hh,
|
|||
|
||||
*buf = ecore_evas_buffer_new(w, h);
|
||||
evasbuf = ecore_evas_get(*buf);
|
||||
|
||||
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 = 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);
|
||||
|
||||
/* 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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue