(define-key dired-mode-map ":" 'epa-dired-prefix))
(defun epa-dired-decrypt-file (file)
- (let ((context (epg-make-context)))
+ (let* ((default-name (file-name-sans-extension file))
+ (plain (read-file-name
+ (concat "To file (default "
+ (file-name-nondirectory default-name)
+ ") ")
+ (file-name-directory default-name)
+ default-name))
+ (context (epg-make-context)))
(message "Decrypting %s..." (file-name-nondirectory file))
- (epg-decrypt-file context file (file-name-sans-extension file))
+ (epg-decrypt-file context file plain)
(message "Decrypting %s...done" (file-name-nondirectory file))))
(defun epa-dired-do-decrypt ()
(setq file-list (cdr file-list)))
(revert-buffer)))
-(defun epa-dired-encrypt-file (keys file)
+(defun epa-dired-encrypt-file (file)
(let ((cipher (concat file ".gpg"))
- (context (epg-make-context)))
+ (context (epg-make-context))
+ (keys (epa-select-keys "Select recipents for encryption.
+If no one is selected, symmetric encryption will be performed. ")))
(message "Encrypting %s..." (file-name-nondirectory file))
(epg-encrypt-file context
file
(interactive)
(let ((file-list (dired-get-marked-files)))
(while file-list
- (epa-ask-keys "Select recipents for encryption.
-If no one is selected, symmetric encryption will be performed. "
- #'epa-dired-encrypt-file nil
- (expand-file-name (car file-list)))
+ (epa-dired-encrypt-file (car file-list))
(setq file-list (cdr file-list)))))
(provide 'epa-dired)