Соответствующий код Thunderbird здесь , но AFAICS это еще не закончено ... То, что я сделал, - писал расширение Thunderbird, которое переопределяет событие draggesture
#threadTree treechildren
и вызывает слегка измененную версию из ThreadPaneOnDragStart
, который записывает перетаскиваемое сообщение где-то внутри временного каталога (используя SaveMessageToDisk
), возвращая имя файла как application/x-moz-file-promise
(или то, что вы хотите перехватить в вашем приложении).
Это имеет два недостатка. поскольку файл создается при начале перетаскивания, а не когда он заканчивается:
- вы можете получить бессмысленные файлы внутри временного каталога, если пользователь прервет операцию DND
- если перетаскиваемое сообщение имеет большой размер, пользователь может испытывать некоторое отставание