[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 メーリングリストの案内