Commit 84fb0956 authored by Thierry Volpiatto's avatar Thierry Volpiatto Committed by Juri Linkov
Browse files

* dired.el (dired-mode-map): Rebind "\C-t\C-t" from

`image-dired-dired-insert-marked-thumbs' to
`image-dired-dired-toggle-marked-thumbs'.

* image-dired.el: Require cl when compiling.
(image-dired-dired-toggle-marked-thumbs): Rename from
`image-dired-dired-insert-marked-thumbs'.  Add ARG.  Doc fix.
Use interactive spec "P".  Set LOCALP arg of `dired-get-filename'
to 'no-dir.  Skip files whose names don't match
`image-file-name-regexp'.  When file has a thumbnail overlay,
delete it.  (Bug#5270)
parent 0fb1193d
2010-05-25 Thierry Volpiatto <thierry.volpiatto@gmail.com>
* dired.el (dired-mode-map): Rebind "\C-t\C-t" from
`image-dired-dired-insert-marked-thumbs' to
`image-dired-dired-toggle-marked-thumbs'.
* image-dired.el: Require cl when compiling.
(image-dired-dired-toggle-marked-thumbs): Rename from
`image-dired-dired-insert-marked-thumbs'. Add ARG. Doc fix.
Use interactive spec "P". Set LOCALP arg of `dired-get-filename'
to 'no-dir. Skip files whose names don't match
`image-file-name-regexp'. When file has a thumbnail overlay,
delete it. (Bug#5270)
2010-05-25 Juri Linkov <juri@jurta.org>
* image-mode.el (image-mode): Add image-after-revert-hook to
......
......@@ -1409,7 +1409,7 @@ Do so according to the former subdir alist OLD-SUBDIR-ALIST."
(define-key map "\C-t." 'image-dired-display-thumb)
(define-key map "\C-tc" 'image-dired-dired-comment-files)
(define-key map "\C-tf" 'image-dired-mark-tagged-files)
(define-key map "\C-t\C-t" 'image-dired-dired-insert-marked-thumbs)
(define-key map "\C-t\C-t" 'image-dired-dired-toggle-marked-thumbs)
(define-key map "\C-te" 'image-dired-dired-edit-comment-and-tags)
;; encryption and decryption (epa-dired)
(define-key map ":d" 'epa-dired-do-decrypt)
......
......@@ -157,6 +157,7 @@
(require 'widget)
(eval-when-compile
(require 'cl)
(require 'wid-edit))
(defgroup image-dired nil
......@@ -632,26 +633,32 @@ according to the Thumbnail Managing Standard."
(call-process shell-file-name nil nil nil shell-command-switch command)))
;;;###autoload
(defun image-dired-dired-insert-marked-thumbs ()
"Insert thumbnails before file names of marked files in the dired buffer."
(interactive)
(defun image-dired-dired-toggle-marked-thumbs (&optional arg)
"Toggle thumbnails in front of file names in the dired buffer.
If no marked file could be found, insert or hide thumbnails on the
current line. ARG, if non-nil, specifies the files to use instead
of the marked files. If ARG is an integer, use the next ARG (or
previous -ARG, if ARG<0) files."
(interactive "P")
(dired-map-over-marks
(let* ((image-pos (dired-move-to-filename))
(image-file (dired-get-filename))
(thumb-file (image-dired-get-thumbnail-image image-file))
(let* ((image-pos (dired-move-to-filename))
(image-file (dired-get-filename 'no-dir t))
thumb-file
overlay)
;; If image is not already added, then add it.
(unless (delq nil (mapcar (lambda (o) (overlay-get o 'put-image))
;; Can't use (overlays-at (point)), BUG?
(overlays-in (point) (1+ (point)))))
(put-image thumb-file image-pos)
(setq
overlay
(car (delq nil (mapcar (lambda (o) (and (overlay-get o 'put-image) o))
(overlays-in (point) (1+ (point)))))))
(overlay-put overlay 'image-file image-file)
(overlay-put overlay 'thumb-file thumb-file)))
nil)
(when (and image-file (string-match-p (image-file-name-regexp) image-file))
(setq thumb-file (image-dired-get-thumbnail-image image-file))
;; If image is not already added, then add it.
(let ((cur-ov (overlays-in (point) (1+ (point)))))
(if cur-ov
(delete-overlay (car cur-ov))
(put-image thumb-file image-pos)
(setq overlay (loop for o in (overlays-in (point) (1+ (point)))
when (overlay-get o 'put-image) collect o into ov
finally return (car ov)))
(overlay-put overlay 'image-file image-file)
(overlay-put overlay 'thumb-file thumb-file)))))
arg ; Show or hide image on ARG next files.
'show-progress) ; Update dired display after each image is updated.
(add-hook 'dired-after-readin-hook 'image-dired-dired-after-readin-hook nil t))
(defun image-dired-dired-after-readin-hook ()
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment