have a theme fallback in preview so it works right.

SVN revision: 80904
This commit is contained in:
Carsten Haitzler 2012-12-13 23:33:29 +00:00
parent f4440456f7
commit 819fa7c948
1 changed files with 36 additions and 22 deletions

View File

@ -90,6 +90,20 @@ _e_int_theme_preview_group_set(Evas_Object *preview, const char *file, const cha
return e_widget_preview_edje_set(preview, file, group); return e_widget_preview_edje_set(preview, file, group);
} }
static void
_e_int_theme_edje_file_set(Evas_Object *o, const char *file, const char *group)
{
if (!edje_object_file_set(o, file, group))
{
file = e_path_find(path_themes, "default.edj");
if (file)
{
edje_object_file_set(o, file, group);
eina_stringshare_del(file);
}
}
}
static Eina_Bool static Eina_Bool
_e_int_theme_preview_set(Evas_Object *preview, const char *file) _e_int_theme_preview_set(Evas_Object *preview, const char *file)
{ {
@ -104,14 +118,14 @@ _e_int_theme_preview_set(Evas_Object *preview, const char *file)
w *= 2; h *= 2; w *= 2; h *= 2;
o = edje_object_add(e); o = edje_object_add(e);
edje_object_file_set(o, file, "e/desktop/background"); _e_int_theme_edje_file_set(o, file, "e/desktop/background");
evas_object_move(o, 0, 0); evas_object_move(o, 0, 0);
evas_object_resize(o, w, h); evas_object_resize(o, w, h);
evas_object_show(o); evas_object_show(o);
objs = eina_list_append(objs, o); objs = eina_list_append(objs, o);
o = edje_object_add(e); o = edje_object_add(e);
edje_object_file_set(o, file, "e/comp/popup"); _e_int_theme_edje_file_set(o, file, "e/comp/popup");
evas_object_move(o, (w - (400 * e_scale)) / 2, h - (40 * e_scale)); evas_object_move(o, (w - (400 * e_scale)) / 2, h - (40 * e_scale));
evas_object_resize(o, 400 * e_scale, (40 * e_scale)); evas_object_resize(o, 400 * e_scale, (40 * e_scale));
evas_object_show(o); evas_object_show(o);
@ -121,7 +135,7 @@ _e_int_theme_preview_set(Evas_Object *preview, const char *file)
po = o; po = o;
o = edje_object_add(e); o = edje_object_add(e);
edje_object_file_set(o, file, "e/shelf/default/base"); _e_int_theme_edje_file_set(o, file, "e/shelf/default/base");
evas_object_show(o); evas_object_show(o);
edje_object_signal_emit(o, "e,state,orientation,bottom", "e"); edje_object_signal_emit(o, "e,state,orientation,bottom", "e");
edje_object_part_swallow(po, "e.swallow.content", o); edje_object_part_swallow(po, "e.swallow.content", o);
@ -139,14 +153,14 @@ _e_int_theme_preview_set(Evas_Object *preview, const char *file)
mh = 42 * e_scale; mh = 42 * e_scale;
o = edje_object_add(e); o = edje_object_add(e);
edje_object_file_set(o, file, "e/modules/start/main"); _e_int_theme_edje_file_set(o, file, "e/modules/start/main");
evas_object_show(o); evas_object_show(o);
e_box_pack_end(po, o); e_box_pack_end(po, o);
e_box_pack_options_set(o, 1, 1, 0, 0, 0.5, 0.5, mh, 0, 9999, 9999); e_box_pack_options_set(o, 1, 1, 0, 0, 0.5, 0.5, mh, 0, 9999, 9999);
objs = eina_list_append(objs, o); objs = eina_list_append(objs, o);
o = edje_object_add(e); o = edje_object_add(e);
edje_object_file_set(o, file, "e/shelf/default/inset"); _e_int_theme_edje_file_set(o, file, "e/shelf/default/inset");
evas_object_show(o); evas_object_show(o);
e_box_pack_end(po, o); e_box_pack_end(po, o);
e_box_pack_options_set(o, 1, 1, 0, 0, 0.5, 0.5, 4 * mh, 0, 9999, 9999); e_box_pack_options_set(o, 1, 1, 0, 0, 0.5, 0.5, 4 * mh, 0, 9999, 9999);
@ -161,7 +175,7 @@ _e_int_theme_preview_set(Evas_Object *preview, const char *file)
po3 = o; po3 = o;
o = edje_object_add(e); o = edje_object_add(e);
edje_object_file_set(o, file, "e/modules/pager/desk"); _e_int_theme_edje_file_set(o, file, "e/modules/pager/desk");
evas_object_show(o); evas_object_show(o);
edje_object_signal_emit(o, "e,state,selected", "e"); edje_object_signal_emit(o, "e,state,selected", "e");
e_box_pack_end(po3, o); e_box_pack_end(po3, o);
@ -169,49 +183,49 @@ _e_int_theme_preview_set(Evas_Object *preview, const char *file)
objs = eina_list_append(objs, o); objs = eina_list_append(objs, o);
o = edje_object_add(e); o = edje_object_add(e);
edje_object_file_set(o, file, "e/modules/pager/desk"); _e_int_theme_edje_file_set(o, file, "e/modules/pager/desk");
evas_object_show(o); evas_object_show(o);
e_box_pack_end(po3, o); e_box_pack_end(po3, o);
e_box_pack_options_set(o, 1, 1, 0, 0, 0.5, 0.5, mh, 0, 9999, 9999); e_box_pack_options_set(o, 1, 1, 0, 0, 0.5, 0.5, mh, 0, 9999, 9999);
objs = eina_list_append(objs, o); objs = eina_list_append(objs, o);
o = edje_object_add(e); o = edje_object_add(e);
edje_object_file_set(o, file, "e/modules/pager/desk"); _e_int_theme_edje_file_set(o, file, "e/modules/pager/desk");
evas_object_show(o); evas_object_show(o);
e_box_pack_end(po3, o); e_box_pack_end(po3, o);
e_box_pack_options_set(o, 1, 1, 0, 0, 0.5, 0.5, mh, 0, 9999, 9999); e_box_pack_options_set(o, 1, 1, 0, 0, 0.5, 0.5, mh, 0, 9999, 9999);
objs = eina_list_append(objs, o); objs = eina_list_append(objs, o);
o = edje_object_add(e); o = edje_object_add(e);
edje_object_file_set(o, file, "e/modules/pager/desk"); _e_int_theme_edje_file_set(o, file, "e/modules/pager/desk");
evas_object_show(o); evas_object_show(o);
e_box_pack_end(po3, o); e_box_pack_end(po3, o);
e_box_pack_options_set(o, 1, 1, 0, 0, 0.5, 0.5, mh, 0, 9999, 9999); e_box_pack_options_set(o, 1, 1, 0, 0, 0.5, 0.5, mh, 0, 9999, 9999);
objs = eina_list_append(objs, o); objs = eina_list_append(objs, o);
o = edje_object_add(e); o = edje_object_add(e);
edje_object_file_set(o, file, "e/modules/backlight/main"); _e_int_theme_edje_file_set(o, file, "e/modules/backlight/main");
evas_object_show(o); evas_object_show(o);
e_box_pack_end(po, o); e_box_pack_end(po, o);
e_box_pack_options_set(o, 1, 1, 0, 0, 0.5, 0.5, mh, 0, 9999, 9999); e_box_pack_options_set(o, 1, 1, 0, 0, 0.5, 0.5, mh, 0, 9999, 9999);
objs = eina_list_append(objs, o); objs = eina_list_append(objs, o);
o = edje_object_add(e); o = edje_object_add(e);
edje_object_file_set(o, file, "e/modules/mixer/main"); _e_int_theme_edje_file_set(o, file, "e/modules/mixer/main");
evas_object_show(o); evas_object_show(o);
e_box_pack_end(po, o); e_box_pack_end(po, o);
e_box_pack_options_set(o, 1, 1, 0, 0, 0.5, 0.5, mh, 0, 9999, 9999); e_box_pack_options_set(o, 1, 1, 0, 0, 0.5, 0.5, mh, 0, 9999, 9999);
objs = eina_list_append(objs, o); objs = eina_list_append(objs, o);
o = edje_object_add(e); o = edje_object_add(e);
edje_object_file_set(o, file, "e/modules/battery/main"); _e_int_theme_edje_file_set(o, file, "e/modules/battery/main");
evas_object_show(o); evas_object_show(o);
e_box_pack_end(po, o); e_box_pack_end(po, o);
e_box_pack_options_set(o, 1, 1, 0, 0, 0.5, 0.5, mh, 0, 9999, 9999); e_box_pack_options_set(o, 1, 1, 0, 0, 0.5, 0.5, mh, 0, 9999, 9999);
objs = eina_list_append(objs, o); objs = eina_list_append(objs, o);
o = edje_object_add(e); o = edje_object_add(e);
edje_object_file_set(o, file, "e/modules/clock/main"); _e_int_theme_edje_file_set(o, file, "e/modules/clock/main");
evas_object_show(o); evas_object_show(o);
e_box_pack_end(po, o); e_box_pack_end(po, o);
e_box_pack_options_set(o, 1, 1, 0, 0, 0.5, 0.5, mh, 0, 9999, 9999); e_box_pack_options_set(o, 1, 1, 0, 0, 0.5, 0.5, mh, 0, 9999, 9999);
@ -219,7 +233,7 @@ _e_int_theme_preview_set(Evas_Object *preview, const char *file)
o = edje_object_add(e); o = edje_object_add(e);
edje_object_file_set(o, file, "e/comp/default"); _e_int_theme_edje_file_set(o, file, "e/comp/default");
evas_object_move(o, w / 2, h / 9); evas_object_move(o, w / 2, h / 9);
evas_object_resize(o, w / 3, h / 3); evas_object_resize(o, w / 3, h / 3);
evas_object_show(o); evas_object_show(o);
@ -231,7 +245,7 @@ _e_int_theme_preview_set(Evas_Object *preview, const char *file)
po2 = po; po2 = po;
o = edje_object_add(e); o = edje_object_add(e);
edje_object_file_set(o, file, "e/widgets/border/default/border"); _e_int_theme_edje_file_set(o, file, "e/widgets/border/default/border");
edje_object_part_text_set(o, "e.text.title", "Title"); edje_object_part_text_set(o, "e.text.title", "Title");
evas_object_show(o); evas_object_show(o);
edje_object_signal_emit(o, "e,state,unfocused", "e"); edje_object_signal_emit(o, "e,state,unfocused", "e");
@ -240,7 +254,7 @@ _e_int_theme_preview_set(Evas_Object *preview, const char *file)
po = o; po = o;
o = edje_object_add(e); o = edje_object_add(e);
edje_object_file_set(o, file, "e/theme/about"); _e_int_theme_edje_file_set(o, file, "e/theme/about");
edje_object_size_min_get(o, &mw, &mh); edje_object_size_min_get(o, &mw, &mh);
if (mw > 0) evas_object_resize(po2, mw, mh); if (mw > 0) evas_object_resize(po2, mw, mh);
edje_object_part_text_set(o, "e.text.label", "Close"); edje_object_part_text_set(o, "e.text.label", "Close");
@ -253,7 +267,7 @@ _e_int_theme_preview_set(Evas_Object *preview, const char *file)
o = edje_object_add(e); o = edje_object_add(e);
edje_object_file_set(o, file, "e/comp/default"); _e_int_theme_edje_file_set(o, file, "e/comp/default");
evas_object_move(o, w / 10, h / 5); evas_object_move(o, w / 10, h / 5);
evas_object_resize(o, w / 2, h / 3); evas_object_resize(o, w / 2, h / 3);
evas_object_show(o); evas_object_show(o);
@ -264,7 +278,7 @@ _e_int_theme_preview_set(Evas_Object *preview, const char *file)
po = o; po = o;
o = edje_object_add(e); o = edje_object_add(e);
edje_object_file_set(o, file, "e/widgets/border/default/border"); _e_int_theme_edje_file_set(o, file, "e/widgets/border/default/border");
edje_object_part_text_set(o, "e.text.title", "Title"); edje_object_part_text_set(o, "e.text.title", "Title");
evas_object_show(o); evas_object_show(o);
edje_object_signal_emit(o, "e,state,focused", "e"); edje_object_signal_emit(o, "e,state,focused", "e");
@ -273,7 +287,7 @@ _e_int_theme_preview_set(Evas_Object *preview, const char *file)
po = o; po = o;
o = edje_object_add(e); o = edje_object_add(e);
edje_object_file_set(o, file, "e/widgets/dialog/main"); _e_int_theme_edje_file_set(o, file, "e/widgets/dialog/main");
evas_object_show(o); evas_object_show(o);
edje_object_signal_emit(o, "e,icon,enabled", "e"); edje_object_signal_emit(o, "e,icon,enabled", "e");
edje_object_part_swallow(po, "e.swallow.client", o); edje_object_part_swallow(po, "e.swallow.client", o);
@ -282,7 +296,7 @@ _e_int_theme_preview_set(Evas_Object *preview, const char *file)
po2 = po; po2 = po;
o = edje_object_add(e); o = edje_object_add(e);
edje_object_file_set(o, file, "e/widgets/dialog/text"); _e_int_theme_edje_file_set(o, file, "e/widgets/dialog/text");
edje_object_part_text_set(o, "e.textblock.message", edje_object_part_text_set(o, "e.textblock.message",
"<hilight>Welcome to enlightenment.</hilight><br>" "<hilight>Welcome to enlightenment.</hilight><br>"
"<br>" "<br>"
@ -308,7 +322,7 @@ _e_int_theme_preview_set(Evas_Object *preview, const char *file)
po = o; po = o;
o = edje_object_add(e); o = edje_object_add(e);
edje_object_file_set(o, file, "e/widgets/button"); _e_int_theme_edje_file_set(o, file, "e/widgets/button");
evas_object_show(o); evas_object_show(o);
edje_object_signal_emit(o, "e,state,text", "e"); edje_object_signal_emit(o, "e,state,text", "e");
edje_object_part_text_set(o, "e.text.label", "OK"); edje_object_part_text_set(o, "e.text.label", "OK");
@ -317,7 +331,7 @@ _e_int_theme_preview_set(Evas_Object *preview, const char *file)
objs = eina_list_append(objs, o); objs = eina_list_append(objs, o);
o = edje_object_add(e); o = edje_object_add(e);
edje_object_file_set(o, file, "e/widgets/button"); _e_int_theme_edje_file_set(o, file, "e/widgets/button");
evas_object_show(o); evas_object_show(o);
edje_object_signal_emit(o, "e,state,text", "e"); edje_object_signal_emit(o, "e,state,text", "e");
edje_object_part_text_set(o, "e.text.label", "Cancel"); edje_object_part_text_set(o, "e.text.label", "Cancel");