[mew-dist 26377] Re: drag & drop on Meadow
Kazu Yamamoto ( 山本和彦 )
kazu at example.com
2005年 5月 30日 (月) 17:29:47 JST
> draft mode での drag & drop によるファイル添付を Meadow でもできるよ
> うにしてみました。4.2.51 へのパッチです。
このコードは、Unix でエラーを起こします。
Meadow 用のコードを見よう見まねで書いてみました。
これで OK であれば、マージします。
--かず
Index: mew-attach.el
===================================================================
RCS file: /cvsroot/mew/mew/mew-attach.el,v
retrieving revision 1.43
diff -c -r1.43 mew-attach.el
*** mew-attach.el 26 May 2005 06:15:47 -0000 1.43
--- mew-attach.el 30 May 2005 08:26:12 -0000
***************
*** 745,750 ****
--- 745,758 ----
(cons action type)
nil)))
+ (defun mew-draft-dnd-for-meadow (event)
+ (interactive "e")
+ (if (eq (posn-window (event-start event)) (selected-window))
+ (let ((file (car (cdr (cdr event)))))
+ (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,774 ****
(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)
nil)))
(provide 'mew-attach)
--- 776,783 ----
(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)
nil)))
(provide 'mew-attach)
Index: mew-key.el
===================================================================
RCS file: /cvsroot/mew/mew/mew-key.el,v
retrieving revision 1.100
diff -c -r1.100 mew-key.el
*** mew-key.el 18 May 2005 11:54:42 -0000 1.100
--- mew-key.el 30 May 2005 08:26:12 -0000
***************
*** 321,326 ****
--- 321,328 ----
;;;
(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 メーリングリストの案内