[mew-dist 26369] drag & drop on Meadow
INOUE Tomohiro
ml at example.com
2005年 5月 28日 (土) 01:26:03 JST
こんにちは、井上と申します。
draft mode での drag & drop によるファイル添付を Meadow でもできるよ
うにしてみました。4.2.51 へのパッチです。
(参考にしたコード: http://www.nijino.com/ari/emacs/gnus.html)
Meadow 以外の環境で試せないので副作用がないか心配ですが、
もし大丈夫そうなら採用していただけると幸いです。
-- 井上
-------------- next part --------------
--- mew-attach.el.orig 2005-05-06 14:54:04.000000000 +0900
+++ mew-attach.el 2005-05-26 19:14:58.452672500 +0900
@@ -745,8 +745,8 @@
(cons action type)
nil)))
-(defun mew-draft-dnd-handle-local-file (uri action)
- (let* ((from (dnd-get-local-file-name uri t))
+(defun mew-draft-dnd-handle-local-file (local-file action)
+ (let* ((from local-file)
(to (file-name-nondirectory from)))
(when from
(unless (mew-attach-p)
@@ -768,9 +768,22 @@
(defun mew-draft-dnd-handle-file (uri action)
(let ((local-file (dnd-get-local-file-uri uri)))
- (if local-file (mew-draft-dnd-handle-local-file local-file action)
+ (if local-file (mew-draft-dnd-handle-local-file
+ (dnd-get-local-file-name local-file t) action)
nil)))
+(when (featurep 'meadow)
+ (defun mew-draft-dnd-w32 (event)
+ (interactive "e")
+ (if (eq (posn-window (event-start event)) (selected-window))
+ (dolist (file (car (cdr (cdr event))))
+ (when (file-regular-p file)
+ (mew-draft-dnd-handle-local-file file 'copy)))
+ (w32-drag-n-drop event)))
+ (define-key mew-draft-mode-map [drag-n-drop] 'mew-draft-dnd-w32)
+ (define-key mew-draft-header-map [drag-n-drop] 'mew-draft-dnd-w32)
+ (define-key mew-draft-attach-map [drag-n-drop] 'mew-draft-dnd-w32))
+
(provide 'mew-attach)
;;; Copyright Notice:
Mew-dist メーリングリストの案内