Make labels in list clickable

When a label is clicked on, or <RET> is pressed while the cursor is on
it, the `dispass' function is called with the appropriate label and
length.
This commit is contained in:
Tom Willemsen 2012-07-05 01:41:41 +02:00
parent 2427dc3138
commit 3694850613

View file

@ -178,6 +178,11 @@ an eye out for LABEL."
(dispass-start-process label nil length)) (dispass-start-process label nil length))
;; Labels management ;; Labels management
(defun dispass-from-button (button)
"Call dispass with information from BUTTON."
(dispass (button-get button 'dispass-label)
(button-get button 'dispass-length)))
(defun dispass-labels--refresh () (defun dispass-labels--refresh ()
"Reload labels from dispass." "Reload labels from dispass."
(setq tabulated-list-entries nil) (setq tabulated-list-entries nil)
@ -189,7 +194,13 @@ an eye out for LABEL."
"\\(\\w+\\) .*length=\\([0-9]+\\) .*hash=\\(\\w+\\)$" "\\(\\w+\\) .*length=\\([0-9]+\\) .*hash=\\(\\w+\\)$"
nil t) nil t)
(add-to-list 'tmp-list `(,(match-string 1) (add-to-list 'tmp-list `(,(match-string 1)
[,(match-string 1) [(,(match-string 1)
face link
help-echo ,(concat "Generate passphrase for " (match-string 1))
follow-link t
dispass-label ,(match-string 1)
dispass-length ,(match-string 2)
action dispass-from-button)
,(match-string 2) ,(match-string 2)
,(match-string 3)])))) ,(match-string 3)]))))
(setq tabulated-list-entries tmp-list))) (setq tabulated-list-entries tmp-list)))