diff --git a/config/mobile/e.src b/config/mobile/e.src index a5756ea24..ff0302487 100644 --- a/config/mobile/e.src +++ b/config/mobile/e.src @@ -633,6 +633,58 @@ group "E_Config" struct { value "mime" string: "image/x-compressed-xcf"; value "icon" string: "THUMB"; } + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/x-font"; + value "icon" string: "THUMB"; + } + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/x-font-ttf"; + value "icon" string: "THUMB"; + } + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/x-font-type1"; + value "icon" string: "THUMB"; + } + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/x-font-afm"; + value "icon" string: "THUMB"; + } + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/x-font-snf"; + value "icon" string: "THUMB"; + } + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/x-font-otf"; + value "icon" string: "THUMB"; + } + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/vnd.font-fontforge-sfd"; + value "icon" string: "THUMB"; + } + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/x-font-linux-psf"; + value "icon" string: "THUMB"; + } + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/x-font-ttx"; + value "icon" string: "THUMB"; + } + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/x-font-speedo"; + value "icon" string: "THUMB"; + } + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/x-font-pcf"; + value "icon" string: "THUMB"; + } + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/x-font-bdf"; + value "icon" string: "THUMB"; + } + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/x-cisco-vpn-settings"; + value "icon" string: "THUMB"; + } group "E_Config_Mime_Icon" struct { value "mime" string: "video/3gpp"; value "icon" string: "THUMB"; diff --git a/config/standard/e.src b/config/standard/e.src index 4cbb4677c..8f673739a 100644 --- a/config/standard/e.src +++ b/config/standard/e.src @@ -361,6 +361,58 @@ group "E_Config" struct { value "mime" string: "image/x-compressed-xcf"; value "icon" string: "THUMB"; } + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/x-font"; + value "icon" string: "THUMB"; + } + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/x-font-ttf"; + value "icon" string: "THUMB"; + } + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/x-font-type1"; + value "icon" string: "THUMB"; + } + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/x-font-afm"; + value "icon" string: "THUMB"; + } + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/x-font-snf"; + value "icon" string: "THUMB"; + } + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/x-font-otf"; + value "icon" string: "THUMB"; + } + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/vnd.font-fontforge-sfd"; + value "icon" string: "THUMB"; + } + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/x-font-linux-psf"; + value "icon" string: "THUMB"; + } + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/x-font-ttx"; + value "icon" string: "THUMB"; + } + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/x-font-speedo"; + value "icon" string: "THUMB"; + } + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/x-font-pcf"; + value "icon" string: "THUMB"; + } + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/x-font-bdf"; + value "icon" string: "THUMB"; + } + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/x-cisco-vpn-settings"; + value "icon" string: "THUMB"; + } group "E_Config_Mime_Icon" struct { value "mime" string: "video/3gpp"; value "icon" string: "THUMB"; diff --git a/src/bin/e_thumb_main.c b/src/bin/e_thumb_main.c index 1851533dc..dd26056cd 100644 --- a/src/bin/e_thumb_main.c +++ b/src/bin/e_thumb_main.c @@ -309,6 +309,12 @@ _e_thumb_generate(E_Thumb *eth) while (mtime_thumb <= mtime_orig) { unsigned int *data1; + Eina_Bool sortkey; + Evas_Object *im2, *bg; + + im = NULL; + im2 = NULL; + bg = NULL; ecore_file_mkdir(dbuf); @@ -323,6 +329,8 @@ _e_thumb_generate(E_Thumb *eth) alpha = 1; ext = strrchr(eth->file, '.'); + sortkey = EINA_FALSE; + if ((ext) && (eth->key) && ((!strcasecmp(ext, ".edj")) || (!strcasecmp(ext, ".eap")))) @@ -347,6 +355,64 @@ _e_thumb_generate(E_Thumb *eth) evas_object_resize(edje, ww * 4, hh * 4); evas_object_show(edje); } + evas_object_move(im, 0, 0); + evas_object_resize(im, ww, hh); + sortkey = EINA_TRUE; + } + else if ((ext) && + ((!strcasecmp(ext, ".ttf")) || + (!strcasecmp(ext, ".pcf")) || + (!strcasecmp(ext, ".bdf")) || + (!strcasecmp(ext, ".ttx")) || + (!strcasecmp(ext, ".pfa")) || + (!strcasecmp(ext, ".pfb")) || + (!strcasecmp(ext, ".afm")) || + (!strcasecmp(ext, ".sfd")) || + (!strcasecmp(ext, ".snf")) || + (!strcasecmp(ext, ".otf")) || + (!strcasecmp(ext, ".psf")) || + (!strcasecmp(ext, ".ttc")) || + (!strcasecmp(ext, ".ttx")) || + (!strcasecmp(ext, ".gsf")) || + (!strcasecmp(ext, ".spd")) + )) + { + Evas_Coord tx = 0, ty = 0, tw = 0, th = 0; + ww = eth->w; + hh = eth->h; + alpha = 0; + + bg = evas_object_rectangle_add(evas); + evas_object_color_set(bg, 96, 96, 96, 255); + evas_object_move(bg, 0, 0); + evas_object_resize(bg, ww, hh); + evas_object_show(bg); + + im = evas_object_text_add(evas); + evas_object_text_font_set(im, eth->file, hh / 4); + evas_object_color_set(im, 192, 192, 192, 255); + evas_object_text_ellipsis_set(im, 0.0); + evas_object_text_text_set(im, "ABCabc"); + evas_object_geometry_get(im, NULL, NULL, &tw, &th); + if (tw > ww) tw = ww; + tx = 0 + ((ww - tw) / 2); + ty = 0 + (((hh / 2) - th) / 2); + evas_object_move(im, tx, ty); + evas_object_resize(im, tw, th); + evas_object_show(im); + + im2 = evas_object_text_add(evas); + evas_object_text_font_set(im2, eth->file, hh / 4); + evas_object_color_set(im2, 255, 255, 255, 255); + evas_object_text_ellipsis_set(im2, 0.0); + evas_object_text_text_set(im2, "123!@?"); + evas_object_geometry_get(im2, NULL, NULL, &tw, &th); + if (tw > ww) tw = ww; + tx = 0 + ((ww - tw) / 2); + ty = (hh / 2) + (((hh / 2) - th) / 2); + evas_object_move(im2, tx, ty); + evas_object_resize(im2, tw, th); + evas_object_show(im2); } else if (evas_object_image_extension_can_load_get(ext)) { @@ -367,12 +433,14 @@ _e_thumb_generate(E_Thumb *eth) } evas_object_image_fill_set(im, 0, 0, ww, hh); } + evas_object_move(im, 0, 0); + evas_object_resize(im, ww, hh); + sortkey = EINA_TRUE; } else goto end; + ecore_evas_alpha_set(ee, alpha); - evas_object_move(im, 0, 0); - evas_object_resize(im, ww, hh); ecore_evas_resize(ee, ww, hh); evas_object_show(im); if (ww <= 0) goto end; @@ -388,55 +456,57 @@ _e_thumb_generate(E_Thumb *eth) eet_data_image_write(ef, "/thumbnail/data", (void *)data, ww, hh, alpha, 0, 91, 1); - ww = 4; hh = 4; - evas_object_image_fill_set(im, 0, 0, ww, hh); - evas_object_resize(im, ww, hh); - ecore_evas_resize(ee, ww, hh); - data = ecore_evas_buffer_pixels_get(ee); - if (!data) goto end; - - data1 = malloc(ww * hh * sizeof(unsigned int)); - memcpy(data1, data, ww * hh * sizeof(unsigned int)); - ww = 2; hh = 2; - evas_object_image_fill_set(im, 0, 0, ww, hh); - evas_object_resize(im, ww, hh); - ecore_evas_resize(ee, ww, hh); - data = ecore_evas_buffer_pixels_get(ee); - if (data) + if (sortkey) { - unsigned int *data2; + ww = 4; hh = 4; + evas_object_image_fill_set(im, 0, 0, ww, hh); + evas_object_resize(im, ww, hh); + ecore_evas_resize(ee, ww, hh); + data = ecore_evas_buffer_pixels_get(ee); + if (!data) goto end; - data2 = malloc(ww * hh * sizeof(unsigned int)); - memcpy(data2, data, ww * hh * sizeof(unsigned int)); - ww = 1; hh = 1; + data1 = malloc(ww * hh * sizeof(unsigned int)); + memcpy(data1, data, ww * hh * sizeof(unsigned int)); + ww = 2; hh = 2; evas_object_image_fill_set(im, 0, 0, ww, hh); evas_object_resize(im, ww, hh); ecore_evas_resize(ee, ww, hh); data = ecore_evas_buffer_pixels_get(ee); if (data) { - unsigned int *data3; - unsigned char id2[(21 * 4) + 1]; - int n, i; - int hi, si, vi; - float h, s, v; - const int pat2[4] = - { - 0, 3, 1, 2 - }; - const int pat1[16] = - { - 5, 10, 6, 9, - 0, 15, 3, 12, - 1, 14, 7, 8, - 4, 11, 2, 13 - }; - - /* ww = hh = 1 here */ - data3 = malloc(sizeof(unsigned int)); - memcpy(data3, data, sizeof(unsigned int)); - // sort_id - n = 0; + unsigned int *data2; + + data2 = malloc(ww * hh * sizeof(unsigned int)); + memcpy(data2, data, ww * hh * sizeof(unsigned int)); + ww = 1; hh = 1; + evas_object_image_fill_set(im, 0, 0, ww, hh); + evas_object_resize(im, ww, hh); + ecore_evas_resize(ee, ww, hh); + data = ecore_evas_buffer_pixels_get(ee); + if (data) + { + unsigned int *data3; + unsigned char id2[(21 * 4) + 1]; + int n, i; + int hi, si, vi; + float h, s, v; + const int pat2[4] = + { + 0, 3, 1, 2 + }; + const int pat1[16] = + { + 5, 10, 6, 9, + 0, 15, 3, 12, + 1, 14, 7, 8, + 4, 11, 2, 13 + }; + + /* ww = hh = 1 here */ + data3 = malloc(sizeof(unsigned int)); + memcpy(data3, data, sizeof(unsigned int)); + // sort_id + n = 0; #define A(v) (((v) >> 24) & 0xff) #define R(v) (((v) >> 16) & 0xff) #define G(v) (((v) >> 8) & 0xff) @@ -454,71 +524,73 @@ _e_thumb_generate(E_Thumb *eth) #define SAVEX(x) \ id2[n++] = 'a' + x; #if 0 - HSV(data3[0]); - SAVEHSV(hi, si, vi); - for (i = 0; i < 4; i++) - { - HSV(data2[pat2[i]]); + HSV(data3[0]); SAVEHSV(hi, si, vi); - } - for (i = 0; i < 16; i++) - { - HSV(data1[pat1[i]]); - SAVEHSV(hi, si, vi); - } + for (i = 0; i < 4; i++) + { + HSV(data2[pat2[i]]); + SAVEHSV(hi, si, vi); + } + for (i = 0; i < 16; i++) + { + HSV(data1[pat1[i]]); + SAVEHSV(hi, si, vi); + } #else - HSV(data3[0]); - SAVEX(hi); - for (i = 0; i < 4; i++) - { - HSV(data2[pat2[i]]); + HSV(data3[0]); SAVEX(hi); - } - for (i = 0; i < 16; i++) - { - HSV(data1[pat1[i]]); - SAVEX(hi); - } - HSV(data3[0]); - SAVEX(vi); - for (i = 0; i < 4; i++) - { - HSV(data2[pat2[i]]); + for (i = 0; i < 4; i++) + { + HSV(data2[pat2[i]]); + SAVEX(hi); + } + for (i = 0; i < 16; i++) + { + HSV(data1[pat1[i]]); + SAVEX(hi); + } + HSV(data3[0]); SAVEX(vi); - } - for (i = 0; i < 16; i++) - { - HSV(data1[pat1[i]]); - SAVEX(vi); - } - HSV(data3[0]); - SAVEX(si); - for (i = 0; i < 4; i++) - { - HSV(data2[pat2[i]]); + for (i = 0; i < 4; i++) + { + HSV(data2[pat2[i]]); + SAVEX(vi); + } + for (i = 0; i < 16; i++) + { + HSV(data1[pat1[i]]); + SAVEX(vi); + } + HSV(data3[0]); SAVEX(si); - } - for (i = 0; i < 16; i++) - { - HSV(data1[pat1[i]]); - SAVEX(si); - } + for (i = 0; i < 4; i++) + { + HSV(data2[pat2[i]]); + SAVEX(si); + } + for (i = 0; i < 16; i++) + { + HSV(data1[pat1[i]]); + SAVEX(si); + } #endif - id2[n++] = 0; - eet_write(ef, "/thumbnail/sort_id", id2, n, 1); - free(data3); + id2[n++] = 0; + eet_write(ef, "/thumbnail/sort_id", id2, n, 1); + free(data3); + } + free(data2); } - free(data2); + free(data1); } - free(data1); end: if (ef) eet_close(ef); /* will free all */ if (edje) evas_object_del(edje); if (ee_im) ecore_evas_free(ee_im); - else if (im) - evas_object_del(im); + else if (im) evas_object_del(im); + if (im2) evas_object_del(im2); + if (bg) evas_object_del(bg); ecore_evas_free(ee); eet_clearcache(); break; diff --git a/src/bin/e_widget_filepreview.c b/src/bin/e_widget_filepreview.c index 76b810625..141259b60 100644 --- a/src/bin/e_widget_filepreview.c +++ b/src/bin/e_widget_filepreview.c @@ -43,8 +43,10 @@ struct _E_Widget_Data Eina_Bool mime_icon : 1; Eina_Bool is_dir : 1; Eina_Bool is_txt : 1; + Eina_Bool is_font : 1; Eina_Bool prev_is_fm : 1; Eina_Bool prev_is_txt : 1; + Eina_Bool prev_is_font : 1; Eina_Bool prev_is_video : 1; }; @@ -58,6 +60,7 @@ static void _e_wid_fprev_img_update(E_Widget_Data *wd, const char *path, const static void _e_wid_del_hook(Evas_Object *obj); static void _e_wid_fprev_preview_reset(E_Widget_Data *wd); static void _e_wid_fprev_preview_txt(E_Widget_Data *wd); +static void _e_wid_fprev_preview_font(E_Widget_Data *wd); static void _e_wid_fprev_preview_fm(E_Widget_Data *wd); static void @@ -131,7 +134,7 @@ static void _e_wid_fprev_img_update(E_Widget_Data *wd, const char *path, const char *key) { if (!path) return; - if (wd->is_dir || wd->is_txt) return; + if (wd->is_dir || wd->is_txt || wd->is_font) 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")) { @@ -207,7 +210,7 @@ _e_wid_fprev_clear_widgets(E_Widget_Data *wd) CLRWID(o_preview_time_entry); CLRWID(o_preview_preview); CLRWID(o_preview_scrollframe); - wd->is_dir = wd->is_txt = wd->prev_is_fm = wd->prev_is_video = EINA_FALSE; + wd->is_dir = wd->is_txt = wd->is_font = wd->prev_is_fm = wd->prev_is_video = EINA_FALSE; wd->vid_pct = 0; if (wd->preview_text_file_thread) ecore_thread_cancel(wd->preview_text_file_thread); wd->preview_text_file_thread = NULL; @@ -418,7 +421,7 @@ _e_wid_fprev_preview_fs_widgets(E_Widget_Data *wd, Eina_Bool mount_point) } static void -_e_wid_fprev_preview_file_widgets(E_Widget_Data *wd, Eina_Bool dir, Eina_Bool txt) +_e_wid_fprev_preview_file_widgets(E_Widget_Data *wd, Eina_Bool dir, Eina_Bool txt, Eina_Bool font) { Evas *evas = evas_object_evas_get(wd->obj); Evas_Object *o; @@ -438,6 +441,7 @@ _e_wid_fprev_preview_file_widgets(E_Widget_Data *wd, Eina_Bool dir, Eina_Bool tx wd->o_preview_properties_table = o; wd->is_dir = dir; wd->is_txt = txt; + wd->is_font = font; if (!dir) { @@ -659,12 +663,41 @@ _e_wid_fprev_preview_file(E_Widget_Data *wd) wd->is_txt = !strncmp(wd->mime, "text/", 5); if (!wd->is_txt) wd->is_txt = !strcmp(wd->mime, "application/x-shellscript"); + if (!wd->is_txt) + { + wd->is_font = !strcmp(wd->mime, "application/x-font"); + if (!wd->is_font) + wd->is_font = !strcmp(wd->mime, "application/x-font-ttf"); + if (!wd->is_font) + wd->is_font = !strcmp(wd->mime, "application/x-font-type1"); + if (!wd->is_font) + wd->is_font = !strcmp(wd->mime, "application/x-font-afm"); + if (!wd->is_font) + wd->is_font = !strcmp(wd->mime, "application/x-font-snf"); + if (!wd->is_font) + wd->is_font = !strcmp(wd->mime, "application/x-font-otf"); + if (!wd->is_font) + wd->is_font = !strcmp(wd->mime, "application/vnd.font-fontforge-sfd"); + if (!wd->is_font) + wd->is_font = !strcmp(wd->mime, "application/x-font-linux-psf"); + if (!wd->is_font) + wd->is_font = !strcmp(wd->mime, "application/x-font-ttx"); + if (!wd->is_font) + wd->is_font = !strcmp(wd->mime, "application/x-font-speedo"); + if (!wd->is_font) + wd->is_font = !strcmp(wd->mime, "application/x-font-pcf"); + if (!wd->is_font) + wd->is_font = !strcmp(wd->mime, "application/x-font-bdf"); + if (!wd->is_font) + wd->is_font = !strcmp(wd->mime, "application/x-cisco-vpn-settings"); + } } - _e_wid_fprev_preview_file_widgets(wd, wd->is_dir, wd->is_txt); + _e_wid_fprev_preview_file_widgets(wd, wd->is_dir, wd->is_txt, wd->is_font); _e_wid_fprev_preview_reset(wd); _e_wid_fprev_preview_fm(wd); _e_wid_fprev_preview_txt(wd); + _e_wid_fprev_preview_font(wd); _e_wid_fprev_img_update(wd, wd->path, NULL); e_widget_size_min_get(wd->o_preview_list, &mw, &mh); @@ -812,9 +845,9 @@ _e_wid_fprev_preview_reset(E_Widget_Data *wd) wd->o_preview_scrollframe = wd->o_preview_preview = NULL; if (wd->preview_text_file_thread) ecore_thread_cancel(wd->preview_text_file_thread); wd->preview_text_file_thread = NULL; - if (wd->is_dir || wd->is_txt) return; + if (wd->is_dir || wd->is_txt || wd->is_font) return; 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 = wd->prev_is_font = EINA_FALSE; wd->o_preview_preview = o; e_widget_table_object_append(wd->o_preview_preview_table, wd->o_preview_preview, @@ -871,9 +904,13 @@ static void _e_wid_fprev_preview_txt_read_notify(void *data, Ecore_Thread *eth __UNUSED__, void *msg) { E_Widget_Data *wd = data; + char *buf; //INF("text='%s'", (char*)msg); - edje_object_part_text_set(wd->o_preview_preview, "e.textblock.message", msg); + buf = alloca(strlen(msg) + 4096); + strcpy(buf, ""); + strcat(buf, msg); + edje_object_part_text_set(wd->o_preview_preview, "e.textblock.message", buf); free(msg); } @@ -920,7 +957,6 @@ _e_wid_fprev_preview_txt(E_Widget_Data *wd) e_theme_edje_object_set(o, "base/theme/dialog", "e/widgets/dialog/text"); edje_object_signal_emit(o, "e,state,left", "e"); edje_object_message_signal_process(o); - edje_object_part_text_set(wd->o_preview_preview, "e.textblock.message", ""); wd->o_preview_preview = o; wd->prev_is_txt = EINA_TRUE; evas_object_resize(o, wd->w, wd->h); @@ -945,6 +981,87 @@ _e_wid_fprev_preview_txt(E_Widget_Data *wd) _e_wid_fprev_preview_txt_read_end, _e_wid_fprev_preview_txt_read_cancel, wd, EINA_FALSE); } +static void +_e_wid_fprev_preview_font(E_Widget_Data *wd) +{ + Evas_Object *o; + int mw; + + if (!wd->is_font) return; + if (!wd->path) return; + if (wd->o_preview_preview && (!wd->prev_is_font)) + { + evas_object_del(wd->o_preview_preview); + wd->o_preview_preview = NULL; + } + if (!wd->o_preview_preview) + { + Evas *evas; + char *buf, *escaped; + + evas = evas_object_evas_get(wd->obj); + o = edje_object_add(evas); + /* using dialog theme for now because it's simple, common, and doesn't require all + * themes to be updated + */ + e_theme_edje_object_set(o, "base/theme/dialog", "e/widgets/dialog/text"); + edje_object_signal_emit(o, "e,state,left", "e"); + edje_object_message_signal_process(o); + escaped = eina_str_escape(wd->path); + if (escaped) + { + buf = alloca(strlen(escaped) + 4096); + snprintf(buf, strlen(wd->path) + 4096, + "" + + "" + "28 - ABC abc 0123 @!?#$*{}
" + "The quick brown fox jumps.
" + + "" + "20 - ABC abc 0123 @!?#$*{}
" + "The quick brown fox jumps.
" + + "" + "16 - ABC abc 0123 @!?#$*{}
" + "The quick brown fox jumps.
" + + "" + "12 - ABC abc 0123 @!?#$*{}
" + "The quick brown fox jumps.
" + + "" + "10 - ABC abc 0123 @!?#$*{}
" + "The quick brown fox jumps.
" + + "" + "8 - ABC abc 0123 @!?#$*{}
" + "The quick brown fox jumps.
" + , escaped + ); + edje_object_part_text_set(o, "e.textblock.message", buf); + free(escaped); + } + wd->o_preview_preview = o; + wd->prev_is_font = EINA_TRUE; + evas_object_resize(o, wd->w, wd->h); + o = e_widget_scrollframe_simple_add(evas, o); + wd->o_preview_scrollframe = o; + e_widget_size_min_get(wd->o_preview_list, &mw, NULL); + e_widget_size_min_set(o, wd->w, wd->h); + evas_object_propagate_events_set(wd->o_preview_preview, 0); + e_widget_table_object_append(wd->o_preview_preview_table, + o, 0, 0, 2, 1, 1, 1, 1, 1); + e_widget_list_object_repack(wd->o_preview_list, + wd->o_preview_preview_table, + 1, 1, 0.5); + e_widget_list_object_repack(wd->o_preview_list, + wd->o_preview_properties_table, + 1, 1, 0.5); + evas_object_show(o); + } +} + static void _e_wid_fprev_preview_fm(E_Widget_Data *wd) { @@ -1105,6 +1222,6 @@ e_widget_filepreview_filemode_force(Evas_Object *obj) if (!obj) return; wd = e_widget_data_get(obj); if (!wd) return; - _e_wid_fprev_preview_file_widgets(wd, 0, 0); + _e_wid_fprev_preview_file_widgets(wd, 0, 0, 0); }