X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=epa-dired.el;h=aa4e40645cc7ab3a4c85c59f6c9c69e8c5d77d76;hb=2e8cf939a067948d210ebbf01576000de13c970c;hp=f1ed1373ebab76b3ff2fea84edf1e1c484b457e8;hpb=31cb916d71d15fff73ca59e75103106cf8d3299f;p=elisp%2Fepg.git diff --git a/epa-dired.el b/epa-dired.el index f1ed137..aa4e406 100644 --- a/epa-dired.el +++ b/epa-dired.el @@ -1,3 +1,28 @@ +;;; epa-dired.el --- the EasyPG Assistant, dired extension +;; Copyright (C) 2006 Daiki Ueno + +;; Author: Daiki Ueno +;; Keywords: PGP, GnuPG + +;; This file is part of EasyPG. + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. + +;;; Code: + (require 'epa) (require 'dired) @@ -15,38 +40,47 @@ (define-key dired-mode-map ":" 'epa-dired-prefix)) (defun epa-dired-do-decrypt () + "Decrypt marked files." (interactive) (let ((file-list (dired-get-marked-files))) (while file-list - (epa-decrypt-file (car file-list)) - (setq file-list (cdr file-list))))) + (epa-decrypt-file (expand-file-name (car file-list))) + (setq file-list (cdr file-list))) + (revert-buffer))) (defun epa-dired-do-verify () + "Verify marked files." (interactive) (let ((file-list (dired-get-marked-files))) (while file-list - (epa-verify-file (car file-list)) + (epa-verify-file (expand-file-name (car file-list))) (setq file-list (cdr file-list))))) -(defun epa-dired-do-sign (&optional detached) - (interactive "P") +(defun epa-dired-do-sign () + "Sign marked files." + (interactive) (let ((file-list (dired-get-marked-files))) (while file-list - (epa-sign-file (expand-file-name (car file-list)) detached) - (setq file-list (cdr file-list))))) + (epa-sign-file + (expand-file-name (car file-list)) + (epa-select-keys (epg-make-context) "Select keys for signing. +If no one is selected, default secret key is used. " + nil t) + (y-or-n-p "Make a detached signature? ")) + (setq file-list (cdr file-list))) + (revert-buffer))) (defun epa-dired-do-encrypt () + "Encrypt marked files." (interactive) (let ((file-list (dired-get-marked-files))) (while file-list (epa-encrypt-file - (car file-list) - (mapcar (lambda (key) - (epg-sub-key-id - (car (epg-key-sub-key-list key)))) - (epa-select-keys "Select recipents for encryption. -If no one is selected, symmetric encryption will be performed. "))) - (setq file-list (cdr file-list))))) + (expand-file-name (car file-list)) + (epa-select-keys (epg-make-context) "Select recipents for encryption. +If no one is selected, symmetric encryption will be performed. ")) + (setq file-list (cdr file-list))) + (revert-buffer))) (provide 'epa-dired)