elm cnp - add uri list so you can sensibly do dnd for a filemanager

This commit is contained in:
Carsten Haitzler 2022-04-03 21:11:59 +01:00
parent d8fe6e9450
commit 8d4a2a70cf
3 changed files with 7 additions and 2 deletions

View File

@ -31,6 +31,7 @@ _selection(void *data, Evas_Object *obj EINA_UNUSED, Elm_Selection_Data *ev)
case ELM_SEL_FORMAT_IMAGE: fmt = "IMAGE"; break; case ELM_SEL_FORMAT_IMAGE: fmt = "IMAGE"; break;
case ELM_SEL_FORMAT_VCARD: fmt = "VCARD"; break; case ELM_SEL_FORMAT_VCARD: fmt = "VCARD"; break;
case ELM_SEL_FORMAT_HTML: fmt = "HTML"; break; case ELM_SEL_FORMAT_HTML: fmt = "HTML"; break;
case ELM_SEL_FORMAT_URILIST: fmt = "URILIST"; break;
} }
fprintf(stderr, "got selection type '%s': length %zu\n", fmt, ev->len); fprintf(stderr, "got selection type '%s': length %zu\n", fmt, ev->len);

View File

@ -80,7 +80,8 @@ typedef enum
* inline images */ * inline images */
ELM_SEL_FORMAT_IMAGE = 4, /**< Images */ ELM_SEL_FORMAT_IMAGE = 4, /**< Images */
ELM_SEL_FORMAT_VCARD = 8, /**< Vcards */ ELM_SEL_FORMAT_VCARD = 8, /**< Vcards */
ELM_SEL_FORMAT_HTML = 16 /**< Raw HTML-like data (eg. webkit) */ ELM_SEL_FORMAT_HTML = 16, /**< Raw HTML-like data (eg. webkit) */
ELM_SEL_FORMAT_URILIST = 32 /**< URI List for file DND @since 1.27 */
} Elm_Sel_Format; } Elm_Sel_Format;
/** /**

View File

@ -132,11 +132,14 @@ _format_to_mime_array(Elm_Sel_Format format)
{ {
Eina_Array *ret = eina_array_new(10); Eina_Array *ret = eina_array_new(10);
if (format & ELM_SEL_FORMAT_URILIST)
eina_array_push(ret, "text/uri-list");
if (format & ELM_SEL_FORMAT_TEXT) if (format & ELM_SEL_FORMAT_TEXT)
{ {
eina_array_push(ret, "text/plain"); eina_array_push(ret, "text/plain");
eina_array_push(ret, "text/plain;charset=utf-8"); eina_array_push(ret, "text/plain;charset=utf-8");
eina_array_push(ret, "text/uri-list"); if (!(format & ELM_SEL_FORMAT_URILIST))
eina_array_push(ret, "text/uri-list");
} }
if (format & ELM_SEL_FORMAT_MARKUP) if (format & ELM_SEL_FORMAT_MARKUP)
eina_array_push(ret, "application/x-elementary-markup"); eina_array_push(ret, "application/x-elementary-markup");