[mew-dist 26378] Re: drag & drop on Meadow
Hideyuki SHIRAI ( 白井秀行 )
shirai at example.com
2005年 5月 30日 (月) 18:17:08 JST
From: Kazu Yamamoto (山本和彦) <kazu at example.com> さん曰く
Subject: [mew-dist 26377] Re: drag & drop on Meadow
Message-ID: <20050530.172947.218388727.kazu at example.com>
Date: Mon, 30 May 2005 17:29:47 +0900 (JST)
> > draft mode での drag & drop によるファイル添付を Meadow でもできるよ
> > うにしてみました。4.2.51 へのパッチです。
>
> このコードは、Unix でエラーを起こします。
> Meadow 用のコードを見よう見まねで書いてみました。
> これで OK であれば、マージします。
見よう見まねで試してみましたが、これなら動きました。CVS Head へ
の diff です。(mew-key.el は間違えないように :-)
# よくわかっていない点が多々あるので、追試募集。
# 特に試したのが Meadow 3.00-dev なので、Meadow 2.x の方よろしく
# お願いします。
--
白井秀行 (mailto:shirai at example.com)
-------------- next part --------------
Index: mew-attach.el
===================================================================
RCS file: /cvsmew/mew/mew-attach.el,v
retrieving revision 1.43
diff -u -r1.43 mew-attach.el
--- mew-attach.el 26 May 2005 06:15:47 -0000 1.43
+++ mew-attach.el 30 May 2005 09:13:06 -0000
@@ -745,6 +745,20 @@
(cons action type)
nil)))
+(defun mew-draft-dnd-for-meadow (event)
+ (interactive "e")
+ (if (eq (posn-window (event-start event)) (selected-window))
+ (let ((files (car (cdr (cdr event))))
+ file)
+ (if (stringp files)
+ (setq files (list files)))
+ (while (setq file (car files))
+ (setq files (cdr files))
+ (setq file (dos-to-unix-filename file))
+ (when (file-exists-p file)
+ (setq file (concat "file:" file))
+ (mew-draft-dnd-handle-local-file file 'copy))))))
+
(defun mew-draft-dnd-handle-local-file (uri action)
(let* ((from (dnd-get-local-file-name uri t))
(to (file-name-nondirectory from)))
@@ -768,7 +782,8 @@
(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 local-file action)
nil)))
(provide 'mew-attach)
Index: mew-key.el
===================================================================
RCS file: /cvsmew/mew/mew-key.el,v
retrieving revision 1.100
diff -u -r1.100 mew-key.el
--- mew-key.el 18 May 2005 11:54:42 -0000 1.100
+++ mew-key.el 30 May 2005 09:13:06 -0000
@@ -321,6 +321,8 @@
;;;
(defun mew-draft-share-keymap (symmap)
+ (if (featurep 'meadow)
+ (define-key (symbol-value symmap) [drag-n-drop] 'mew-draft-dnd-for-meadow))
(define-key (symbol-value symmap) "\C-x\C-s" 'mew-draft-save-buffer)
(define-key (symbol-value symmap) "\C-c\C-m" 'mew-draft-make-message)
(define-key (symbol-value symmap) "\C-c\C-c" 'mew-draft-send-message)
Mew-dist メーリングリストの案内