2009-06-12 27 views
14

¿Alguien ha manejado alguna vez una arrastrar de correos de thunderbird? cualquier código de enlaces de referencias?Arrastrar y soltar desde Thunderbird

Quiero ser capaz de arrastrar los correos electrónicos de thunderbird a mi aplicación?

+0

Sería genial tener una extensión genérica de "arrastrar y soltar Thunderbird" que tenga un backend reparable configurable para que cada arrastre y caída notifique a una URL que pueda manejar el código. –

Respuesta

11

Parece que no es posible. Aunque parece que no puedo encontrar ninguna documentación real, aquí está lo que mi experimentación ha encontrado hasta ahora.

Thunderbird proporciona datos de gota con los siguientes tipos MIME, cuando se prueba en un servidor IMAP:

  • text/x-moz-message - UTF-16 URL codificada que se ve como imap-message://[email protected]/FOLDER#ID
  • text/x-moz-url - UTF-16 URL codificada que se parece como imap://[email protected]:port/fetch%3EUID%3E/FOLDER%3EID
  • text/uri-list - (?) ASCII URL que se parece a imap://[email protected]:port/fetch%3EUID%3E/FOLDER%3EID"
  • _NETSCAPE_URL - (?) ASCII URL que se parece imap://[email protected]:port/fetch%3EUID%3E/FOLDER%3EID
  • application/x-moz-file-promise-url - UTF-16 URL codificada que se parece a imap://[email protected]:port/fetch%3EUID%3E/FOLDER%3EID?fileName=SUBJECT.eml
  • application/x-moz-file-promise - Vaciar
+0

Como una ventaja, ¿qué herramienta usaste para ver los datos de soltar? – studgeek

4

El código relevante Thunderbird es here, pero AFAICS no está terminado ... Lo que hice estaba escribiendo un Thunderbird extensión que anula el evento draggesture de #threadTree treechildren y llama a una versión ligeramente modificada de ThreadPaneOnDragStart que escribe el mensaje arrastrado en algún lugar dentro del directorio temporal (usando SaveMessageToDisk), devolviendo el nombre del archivo como application/x-moz-file-promise (o lo que quiera capturar dentro de tu aplicación).

Esto tiene dos inconvenientes. ya que se crea el archivo al arrastrar se inicia y no cuando se termina:

  1. que podría terminar con los archivos sin sentido dentro del directorio temporal, si el usuario cancela la operación de DND
  2. si el mensaje de ser arrastrado es grande, el usuario podría experimentar algún rezago