mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-23 05:17:35 +00:00
image-dired: Add support for bookmark.el
* lisp/image-dired.el (image-dired-thumbnail-mode): Add bookmark.el support. (bookmark-make-record-default, bookmark-prop-get): Declare. (image-dired-bookmark-name, image-dired-bookmark-make-record) (image-dired-bookmark-jump): New defuns.
This commit is contained in:
parent
e89b94f46d
commit
e88be49b9d
2 changed files with 40 additions and 1 deletions
6
etc/NEWS
6
etc/NEWS
|
|
@ -227,6 +227,12 @@ to use it; it is not enabled by default.
|
|||
Support for the GraphicsMagick command line tool ("gm") has been
|
||||
added, and is used instead of ImageMagick when it is available.
|
||||
|
||||
---
|
||||
*** Support for bookmark.el.
|
||||
The command 'bookmark-set' (bound to 'C-x r m') is now supported in
|
||||
the thumbnail view, and will create a bookmark that opens the current
|
||||
directory in Image-Dired.
|
||||
|
||||
** Dired
|
||||
|
||||
---
|
||||
|
|
|
|||
|
|
@ -1766,7 +1766,8 @@ You probably want to use this together with
|
|||
"Browse and manipulate thumbnail images using dired.
|
||||
Use `image-dired-minor-mode' to get a nice setup."
|
||||
(buffer-disable-undo)
|
||||
(add-hook 'file-name-at-point-functions 'image-dired-file-name-at-point nil t))
|
||||
(add-hook 'file-name-at-point-functions 'image-dired-file-name-at-point nil t)
|
||||
(setq-local bookmark-make-record-function #'image-dired-bookmark-make-record))
|
||||
|
||||
(define-derived-mode image-dired-display-image-mode
|
||||
special-mode "image-dired-image-display"
|
||||
|
|
@ -2815,6 +2816,38 @@ tags to their respective image file. Internal function used by
|
|||
(dolist (tag tag-list)
|
||||
(push (cons file tag) lst))))))
|
||||
|
||||
|
||||
;;;; bookmark.el support
|
||||
|
||||
(declare-function bookmark-make-record-default
|
||||
"bookmark" (&optional no-file no-context posn))
|
||||
(declare-function bookmark-prop-get "bookmark" (bookmark prop))
|
||||
|
||||
(defun image-dired-bookmark-name ()
|
||||
"Create a default bookmark name for the current EWW buffer."
|
||||
(file-name-nondirectory
|
||||
(directory-file-name
|
||||
(file-name-directory (image-dired-original-file-name)))))
|
||||
|
||||
(defun image-dired-bookmark-make-record ()
|
||||
"Create a bookmark for the current EWW buffer."
|
||||
`(,(image-dired-bookmark-name)
|
||||
,@(bookmark-make-record-default t)
|
||||
(location . ,(file-name-directory (image-dired-original-file-name)))
|
||||
(image-dired-file . ,(file-name-nondirectory (image-dired-original-file-name)))
|
||||
(handler . image-dired-bookmark-jump)))
|
||||
|
||||
;;;###autoload
|
||||
(defun image-dired-bookmark-jump (bookmark)
|
||||
"Default bookmark handler for Image-Dired buffers."
|
||||
;; User already cached thumbnails, so disable any checking.
|
||||
(let ((image-dired-show-all-from-dir-max-files most-positive-fixnum))
|
||||
(image-dired (bookmark-prop-get bookmark 'location))
|
||||
;; TODO: Go to the bookmarked file, if it exists.
|
||||
;; (bookmark-prop-get bookmark 'image-dired-file)
|
||||
(goto-char (point-min))))
|
||||
|
||||
|
||||
;;;; Obsolete
|
||||
|
||||
;;;###autoload
|
||||
|
|
|
|||
Loading…
Reference in a new issue