mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-28 21:54:10 +01:00
emacs: hello: allow deleting individual searches in the history
This commit adds an extra button at the end of the search entries that allows deleting that individual search from the history. A short confirmation («y» or «n») is made before taking action.
This commit is contained in:
parent
486340e28e
commit
10aac89911
1 changed files with 23 additions and 2 deletions
|
@ -286,6 +286,15 @@ afterwards.")
|
||||||
(message "Saved '%s' as '%s'." search name)
|
(message "Saved '%s' as '%s'." search name)
|
||||||
(notmuch-hello-update)))
|
(notmuch-hello-update)))
|
||||||
|
|
||||||
|
(defun notmuch-hello-delete-search-from-history (widget)
|
||||||
|
(interactive)
|
||||||
|
(let ((search (widget-value
|
||||||
|
(symbol-value
|
||||||
|
(widget-get widget :notmuch-saved-search-widget)))))
|
||||||
|
(setq notmuch-search-history (delete search
|
||||||
|
notmuch-search-history))
|
||||||
|
(notmuch-hello-update)))
|
||||||
|
|
||||||
(defun notmuch-hello-longest-label (searches-alist)
|
(defun notmuch-hello-longest-label (searches-alist)
|
||||||
(or (loop for elem in searches-alist
|
(or (loop for elem in searches-alist
|
||||||
maximize (length (car elem)))
|
maximize (length (car elem)))
|
||||||
|
@ -624,7 +633,12 @@ Complete list of currently available key bindings:
|
||||||
;; `[save]' button. 6
|
;; `[save]' button. 6
|
||||||
;; for the `[save]'
|
;; for the `[save]'
|
||||||
;; button.
|
;; button.
|
||||||
1 6))
|
1 6
|
||||||
|
;; 1 for the space
|
||||||
|
;; before the `[del]'
|
||||||
|
;; button. 5 for the
|
||||||
|
;; `[del]' button.
|
||||||
|
1 5))
|
||||||
:action (lambda (widget &rest ignore)
|
:action (lambda (widget &rest ignore)
|
||||||
(notmuch-hello-search (widget-value widget)))
|
(notmuch-hello-search (widget-value widget)))
|
||||||
search))
|
search))
|
||||||
|
@ -633,7 +647,14 @@ Complete list of currently available key bindings:
|
||||||
:notify (lambda (widget &rest ignore)
|
:notify (lambda (widget &rest ignore)
|
||||||
(notmuch-hello-add-saved-search widget))
|
(notmuch-hello-add-saved-search widget))
|
||||||
:notmuch-saved-search-widget widget-symbol
|
:notmuch-saved-search-widget widget-symbol
|
||||||
"save"))
|
"save")
|
||||||
|
(widget-insert " ")
|
||||||
|
(widget-create 'push-button
|
||||||
|
:notify (lambda (widget &rest ignore)
|
||||||
|
(when (y-or-n-p "Are you sure you want to delete this search? ")
|
||||||
|
(notmuch-hello-delete-search-from-history widget)))
|
||||||
|
:notmuch-saved-search-widget widget-symbol
|
||||||
|
"del"))
|
||||||
(widget-insert "\n"))
|
(widget-insert "\n"))
|
||||||
(indent-rigidly start (point) notmuch-hello-indent))
|
(indent-rigidly start (point) notmuch-hello-indent))
|
||||||
nil))
|
nil))
|
||||||
|
|
Loading…
Reference in a new issue