diff --git a/config/illume/e.src b/config/illume/e.src index 8875774ef..7b5c80f2d 100644 --- a/config/illume/e.src +++ b/config/illume/e.src @@ -747,6 +747,12 @@ group "E_Config" struct { value "icon" string: "THUMB"; } } + group "mime_icons" list { + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/x-edje"; + value "icon" string: "THUMB"; + } + } group "mime_icons" list { group "E_Config_Mime_Icon" struct { value "mime" string: "application/x-desktop"; diff --git a/config/minimalist/e.src b/config/minimalist/e.src index bffbe890b..5a582ab75 100644 --- a/config/minimalist/e.src +++ b/config/minimalist/e.src @@ -1951,6 +1951,12 @@ group "E_Config" struct { value "icon" string: "THUMB"; } } + group "mime_icons" list { + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/x-edje"; + value "icon" string: "THUMB"; + } + } group "mime_icons" list { group "E_Config_Mime_Icon" struct { value "mime" string: "application/x-desktop"; diff --git a/config/netbook/e.src b/config/netbook/e.src index cad71a074..11d85a684 100644 --- a/config/netbook/e.src +++ b/config/netbook/e.src @@ -2015,6 +2015,12 @@ group "E_Config" struct { value "icon" string: "THUMB"; } } + group "mime_icons" list { + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/x-edje"; + value "icon" string: "THUMB"; + } + } group "mime_icons" list { group "E_Config_Mime_Icon" struct { value "mime" string: "application/x-desktop"; diff --git a/config/scaleable/e.src b/config/scaleable/e.src index 87735271f..0168c8b27 100644 --- a/config/scaleable/e.src +++ b/config/scaleable/e.src @@ -2038,6 +2038,12 @@ group "E_Config" struct { value "icon" string: "THUMB"; } } + group "mime_icons" list { + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/x-edje"; + value "icon" string: "THUMB"; + } + } group "mime_icons" list { group "E_Config_Mime_Icon" struct { value "mime" string: "application/x-desktop"; diff --git a/config/standard/e.src b/config/standard/e.src index d1a9a5cd1..64a5ba8a8 100644 --- a/config/standard/e.src +++ b/config/standard/e.src @@ -2048,6 +2048,12 @@ group "E_Config" struct { value "icon" string: "THUMB"; } } + group "mime_icons" list { + group "E_Config_Mime_Icon" struct { + value "mime" string: "application/x-edje"; + value "icon" string: "THUMB"; + } + } group "mime_icons" list { group "E_Config_Mime_Icon" struct { value "mime" string: "application/x-desktop"; diff --git a/src/bin/e_fm.c b/src/bin/e_fm.c index cdd159b17..0b7c4be44 100644 --- a/src/bin/e_fm.c +++ b/src/bin/e_fm.c @@ -401,6 +401,7 @@ static const char *_e_fm2_icon_desktop_str = NULL; static const char *_e_fm2_icon_thumb_str = NULL; static const char *_e_fm2_mime_inode_directory = NULL; static const char *_e_fm2_mime_app_desktop = NULL; +static const char *_e_fm2_mime_app_edje = NULL; static Ecore_Timer *_e_fm2_mime_flush = NULL; static Ecore_Timer *_e_fm2_mime_clear = NULL; @@ -598,6 +599,7 @@ e_fm2_init(void) _e_fm2_icon_thumb_str = eina_stringshare_add("THUMB"); _e_fm2_mime_inode_directory = eina_stringshare_add("inode/directory"); _e_fm2_mime_app_desktop = eina_stringshare_add("application/x-desktop"); + _e_fm2_mime_app_edje = eina_stringshare_add("application/x-edje"); return 1; } @@ -609,6 +611,7 @@ e_fm2_shutdown(void) _eina_stringshare_replace(&_e_fm2_icon_thumb_str, NULL); _eina_stringshare_replace(&_e_fm2_mime_inode_directory, NULL); _eina_stringshare_replace(&_e_fm2_mime_app_desktop, NULL); + _eina_stringshare_replace(&_e_fm2_mime_app_edje, NULL); ecore_timer_del(_e_fm2_mime_flush); _e_fm2_mime_flush = NULL; @@ -1529,7 +1532,7 @@ _e_fm2_path_join(char *buf, int buflen, const char *base, const char *component) * @see _e_fm2_icon_explicit_get() */ static Evas_Object * -_e_fm2_icon_explicit_edje_get(Evas *evas, const E_Fm2_Icon *ic, const char *iconpath, const char **type_ret) +_e_fm2_icon_explicit_edje_get(Evas *evas, const E_Fm2_Icon *ic __UNUSED__, const char *iconpath, const char **type_ret) { Evas_Object *o = edje_object_add(evas); if (!o) @@ -1554,7 +1557,7 @@ _e_fm2_icon_explicit_edje_get(Evas *evas, const E_Fm2_Icon *ic, const char *icon * @see _e_fm2_icon_explicit_get() */ static Evas_Object * -_e_fm2_icon_explicit_theme_icon_get(Evas *evas, const E_Fm2_Icon *ic, const char *name, const char **type_ret) +_e_fm2_icon_explicit_theme_icon_get(Evas *evas, const E_Fm2_Icon *ic __UNUSED__, const char *name, const char **type_ret) { Evas_Object *o = edje_object_add(evas); if (!o) @@ -1840,8 +1843,14 @@ _e_fm2_icon_mime_get(Evas *evas, const E_Fm2_Icon *ic, void (*gen_func) (void *d if (icon == _e_fm2_icon_desktop_str) return _e_fm2_icon_desktop_get(evas, ic, type_ret); else if (icon == _e_fm2_icon_thumb_str) - return _e_fm2_icon_thumb_get(evas, ic, NULL, - gen_func, data, force_gen, type_ret); + { + if (ic->info.mime == _e_fm2_mime_app_edje) + return _e_fm2_icon_thumb_edje_get + (evas, ic, gen_func, data, force_gen, type_ret); + else + return _e_fm2_icon_thumb_get + (evas, ic, NULL, gen_func, data, force_gen, type_ret); + } else if (strncmp(icon, "e/icons/fileman/mime/", 21) == 0) return _e_fm2_icon_explicit_theme_get(evas, ic, icon + 21 - 5, type_ret); else