forked from enlightenment/enlightenment
add support for edje files in filepreview widget
SVN revision: 83585
This commit is contained in:
parent
01257a8acc
commit
93478999a3
|
@ -1,6 +1,7 @@
|
||||||
2013-02-04 Mike Blumenkrantz
|
2013-02-04 Mike Blumenkrantz
|
||||||
|
|
||||||
* optimize use of edje_file_collection_list
|
* optimize use of edje_file_collection_list
|
||||||
|
* add support for edje files in filepreview widget
|
||||||
|
|
||||||
2013-02-01 Mike Blumenkrantz
|
2013-02-01 Mike Blumenkrantz
|
||||||
|
|
||||||
|
|
1
NEWS
1
NEWS
|
@ -82,6 +82,7 @@ Improvements:
|
||||||
* binding dialogs are now able to reset bindings to the system profile file bindings
|
* binding dialogs are now able to reset bindings to the system profile file bindings
|
||||||
* "No listable items" in Navigate menu is now clickable
|
* "No listable items" in Navigate menu is now clickable
|
||||||
* optimize use of edje_file_collection_list
|
* optimize use of edje_file_collection_list
|
||||||
|
* add support for edje files in filepreview widget
|
||||||
|
|
||||||
Fixes:
|
Fixes:
|
||||||
* IBar menu didn't allow to configure different icon sources, show contents menu even on empty IBar.
|
* IBar menu didn't allow to configure different icon sources, show contents menu even on empty IBar.
|
||||||
|
|
|
@ -132,13 +132,58 @@ _e_wid_fprev_img_update(E_Widget_Data *wd, const char *path, const char *key)
|
||||||
{
|
{
|
||||||
if (!path) return;
|
if (!path) return;
|
||||||
if (wd->is_dir || wd->is_txt) return;
|
if (wd->is_dir || wd->is_txt) return;
|
||||||
|
evas_object_smart_callback_del_full(wd->o_preview_preview, "preview_update", _e_wid_fprev_preview_update, wd);
|
||||||
if (eina_str_has_extension(path, ".gif"))
|
if (eina_str_has_extension(path, ".gif"))
|
||||||
{
|
{
|
||||||
e_widget_preview_file_set(wd->o_preview_preview, path, key);
|
e_widget_preview_file_set(wd->o_preview_preview, path, key);
|
||||||
_e_wid_fprev_preview_update(wd, wd->o_preview_preview, NULL);
|
_e_wid_fprev_preview_update(wd, wd->o_preview_preview, NULL);
|
||||||
}
|
}
|
||||||
|
else if (eina_str_has_extension(path, ".edj"))
|
||||||
|
{
|
||||||
|
if (key)
|
||||||
|
e_widget_preview_edje_set(wd->o_preview_preview, path, key);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Eina_List *l;
|
||||||
|
Eina_Stringshare *str;
|
||||||
|
Eina_Bool set = EINA_FALSE;
|
||||||
|
|
||||||
|
l = edje_file_collection_list(path);
|
||||||
|
if (eina_list_count(l) < 2)
|
||||||
|
{
|
||||||
|
e_widget_preview_thumb_set(wd->o_preview_preview, path, eina_list_data_get(l), wd->w, wd->h);
|
||||||
|
set = EINA_TRUE;
|
||||||
|
edje_file_collection_list_free(l), l = NULL;
|
||||||
|
}
|
||||||
|
EINA_LIST_FREE(l, str)
|
||||||
|
{
|
||||||
|
Eina_Bool use = EINA_FALSE;
|
||||||
|
|
||||||
|
if (!strcmp(str, "icon")) use = EINA_TRUE;
|
||||||
|
else if (!strcmp(str, "e/desktop/background")) use = EINA_TRUE;
|
||||||
|
else if (!strcmp(str, "e/init/splash")) use = EINA_TRUE;
|
||||||
|
|
||||||
|
if (use)
|
||||||
|
{
|
||||||
|
e_widget_preview_thumb_set(wd->o_preview_preview, path, str, wd->w, wd->h);
|
||||||
|
set = EINA_TRUE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
eina_stringshare_del(str);
|
||||||
|
}
|
||||||
|
if (!set)
|
||||||
|
{
|
||||||
|
e_widget_preview_edje_set(wd->o_preview_preview, path, NULL);
|
||||||
|
_e_wid_fprev_preview_update(wd, wd->o_preview_preview, NULL);
|
||||||
|
}
|
||||||
|
if (l) edje_file_collection_list_free(l);
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
e_widget_preview_thumb_set(wd->o_preview_preview, path, key, wd->w, wd->h);
|
{
|
||||||
|
e_widget_preview_thumb_set(wd->o_preview_preview, path, key, wd->w, wd->h);
|
||||||
|
evas_object_smart_callback_add(wd->o_preview_preview, "preview_update", _e_wid_fprev_preview_update, wd);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -753,8 +798,6 @@ _e_wid_fprev_preview_reset(E_Widget_Data *wd)
|
||||||
o = e_widget_preview_add(evas_object_evas_get(wd->obj), wd->w, wd->h);
|
o = e_widget_preview_add(evas_object_evas_get(wd->obj), wd->w, wd->h);
|
||||||
wd->prev_is_txt = wd->prev_is_fm = EINA_FALSE;
|
wd->prev_is_txt = wd->prev_is_fm = EINA_FALSE;
|
||||||
wd->o_preview_preview = o;
|
wd->o_preview_preview = o;
|
||||||
evas_object_smart_callback_add(o, "preview_update",
|
|
||||||
_e_wid_fprev_preview_update, wd);
|
|
||||||
e_widget_table_object_append(wd->o_preview_preview_table,
|
e_widget_table_object_append(wd->o_preview_preview_table,
|
||||||
wd->o_preview_preview,
|
wd->o_preview_preview,
|
||||||
0, 0, 2, 1, 0, 0, 1, 1);
|
0, 0, 2, 1, 0, 0, 1, 1);
|
||||||
|
|
Loading…
Reference in New Issue