feat(details): add more menu items

This commit is contained in:
contrapunctus 2021-07-01 07:24:58 +05:30
parent f7f2349004
commit 0f68ab4f38
2 changed files with 25 additions and 9 deletions

View File

@ -2082,13 +2082,21 @@ Return value is a list as specified by `tabulated-list-entries'."
(defvar chronometrist-details-mode-map
(let ((map (make-sparse-keymap)))
(define-key map (kbd "s r") 'chronometrist-details-set-range)
(define-key map (kbd "s f") 'chronometrist-details-set-filter)
(define-key map (kbd "s r") #'chronometrist-details-set-range)
(define-key map (kbd "s f") #'chronometrist-details-set-filter)
(define-key map (kbd "r") #'chronometrist-report)
(define-key map (kbd "l") #'chronometrist-open-log)
(define-key map (kbd "G") #'chronometrist-reset)
map))
(easy-menu-define chronometrist-details-menu chronometrist-details-mode-map
"Menu for `chronometrist-details'."
'("Details" ["Set date/time range" chronometrist-details-set-range]))
'("Details"
["Set date/time range" chronometrist-details-set-range]
["Set interval filter" chronometrist-details-set-filter]
["View weekly report" chronometrist-report]
["View/edit log file" chronometrist-open-log]
["Reset state" chronometrist-reset]))
(define-derived-mode chronometrist-details-mode tabulated-list-mode "Details"
"Major mode for `chronometrist-details'."

View File

@ -3315,18 +3315,26 @@ Return value is a list as specified by `tabulated-list-entries'."
#+BEGIN_SRC emacs-lisp
(defvar chronometrist-details-mode-map
(let ((map (make-sparse-keymap)))
(define-key map (kbd "s r") 'chronometrist-details-set-range)
(define-key map (kbd "s f") 'chronometrist-details-set-filter)
(define-key map (kbd "s r") #'chronometrist-details-set-range)
(define-key map (kbd "s f") #'chronometrist-details-set-filter)
(define-key map (kbd "r") #'chronometrist-report)
(define-key map (kbd "l") #'chronometrist-open-log)
(define-key map (kbd "G") #'chronometrist-reset)
map))
#+END_SRC
**** chronometrist-details-menu :menu:
**** chronometrist-details-menu :menu:
#+BEGIN_SRC emacs-lisp
(easy-menu-define chronometrist-details-menu chronometrist-details-mode-map
"Menu for `chronometrist-details'."
'("Details" ["Set date/time range" chronometrist-details-set-range]))
'("Details"
["Set date/time range" chronometrist-details-set-range]
["Set interval filter" chronometrist-details-set-filter]
["View weekly report" chronometrist-report]
["View/edit log file" chronometrist-open-log]
["Reset state" chronometrist-reset]))
#+END_SRC
**** chronometrist-details-mode :major:mode:
**** chronometrist-details-mode :major:mode:
#+BEGIN_SRC emacs-lisp
(define-derived-mode chronometrist-details-mode tabulated-list-mode "Details"
"Major mode for `chronometrist-details'."
@ -3462,7 +3470,7 @@ FILTER must be a filter specifier as described by
(t (error "Invalid filter."))))
#+END_SRC
**** set-filter :command:
**** set-filter :command:writer:
#+BEGIN_SRC emacs-lisp
(defun chronometrist-details-set-filter ()
"Prompt user for filter for current `chronometrist-details' buffer."