X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=epa-dired.el;h=5fcebfaf3cb0efb5e96c6f2cf74111638e122726;hb=f7a28f60f11e7a71c5bfa97f3e420c86ca492a65;hp=f1ed1373ebab76b3ff2fea84edf1e1c484b457e8;hpb=31cb916d71d15fff73ca59e75103106cf8d3299f;p=elisp%2Fepg.git diff --git a/epa-dired.el b/epa-dired.el index f1ed137..5fcebfa 100644 --- a/epa-dired.el +++ b/epa-dired.el @@ -1,3 +1,28 @@ +;;; epa-dired.el --- the EasyPG Assistant as a 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)) - (setq file-list (cdr file-list))))) + (epa-verify-file (expand-file-name (car file-list))) + (setq file-list (cdr file-list))) + (revert-buffer))) -(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)) + (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) + (expand-file-name (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))))) + (setq file-list (cdr file-list))) + (revert-buffer))) (provide 'epa-dired)