mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-08-19 21:48:44 +00:00
Allow using an encrypted headline as a capture target.
* org-capture.el (org-capture-finalize): Maybe re-encrypt the target headline if it was decrypted. (org-capture-set-target-location): Maybe decrypt the target headline. * org-crypt.el (org-at-encrypted-entry-p): New function. Thanks to Guilherme Gondim for suggesting this.
This commit is contained in:
parent
26b9e71f26
commit
ac6409feae
|
@ -698,6 +698,11 @@ captured item after finalizing."
|
|||
;; Run the hook
|
||||
(run-hooks 'org-capture-before-finalize-hook))
|
||||
|
||||
(when (org-capture-get :decrypted)
|
||||
(save-excursion
|
||||
(goto-char (org-capture-get :decrypted))
|
||||
(org-encrypt-entry)))
|
||||
|
||||
;; Kill the indirect buffer
|
||||
(save-buffer)
|
||||
(let ((return-wconf (org-capture-get :return-to-wconf 'local))
|
||||
|
@ -800,8 +805,9 @@ already gone. Any prefix argument will be passed to the refile command."
|
|||
(org-capture-put :initial-target-position (point)))
|
||||
|
||||
(defun org-capture-set-target-location (&optional target)
|
||||
"Find target buffer and position and store then in the property list."
|
||||
(let ((target-entry-p t))
|
||||
"Find TARGET buffer and position.
|
||||
Store them in the capture property list."
|
||||
(let ((target-entry-p t) decrypted-hl-pos)
|
||||
(setq target (or target (org-capture-get :target)))
|
||||
(save-excursion
|
||||
(cond
|
||||
|
@ -922,8 +928,14 @@ already gone. Any prefix argument will be passed to the refile command."
|
|||
|
||||
(t (error "Invalid capture target specification")))
|
||||
|
||||
(when (org-at-encrypted-entry-p)
|
||||
(org-decrypt-entry)
|
||||
(setq decrypted-hl-pos
|
||||
(save-excursion (and (org-back-to-heading t) (point)))))
|
||||
|
||||
(org-capture-put :buffer (current-buffer) :pos (point)
|
||||
:target-entry-p target-entry-p))))
|
||||
:target-entry-p target-entry-p
|
||||
:decrypted decrypted-hl-pos))))
|
||||
|
||||
(defun org-capture-expand-file (file)
|
||||
"Expand functions and symbols for FILE.
|
||||
|
|
|
@ -252,6 +252,13 @@ See `org-crypt-disable-auto-save'."
|
|||
(cdr (org-make-tags-matcher org-crypt-tag-matcher))
|
||||
todo-only)))
|
||||
|
||||
(defun org-at-encrypted-entry-p ()
|
||||
"Is the current entry encrypted?"
|
||||
(save-excursion
|
||||
(org-back-to-heading t)
|
||||
(search-forward "-----BEGIN PGP MESSAGE-----"
|
||||
(save-excursion (org-end-of-subtree t)) t)))
|
||||
|
||||
(defun org-crypt-use-before-save-magic ()
|
||||
"Add a hook to automatically encrypt entries before a file is saved to disk."
|
||||
(add-hook
|
||||
|
|
Loading…
Reference in a new issue