[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master c56e395 1/2: Let image-dired-mouse-toggle-mark act on active regi
From: |
Lars Ingebrigtsen |
Subject: |
master c56e395 1/2: Let image-dired-mouse-toggle-mark act on active region |
Date: |
Wed, 11 Aug 2021 08:04:12 -0400 (EDT) |
branch: master
commit c56e395edf5babdbcc65fa7bdb9fb462c674f156
Author: Peter Münster <pm@a16n.net>
Commit: Lars Ingebrigtsen <larsi@gnus.org>
Let image-dired-mouse-toggle-mark act on active region
* lisp/image-dired.el (image-dired-mouse-toggle-mark): When region is
active, then toggle marks of all images within (bug#49987).
(image-dired-mouse-toggle-mark-1): Separated out into function.
---
etc/NEWS | 3 +++
lisp/image-dired.el | 25 ++++++++++++++++++++-----
2 files changed, 23 insertions(+), 5 deletions(-)
diff --git a/etc/NEWS b/etc/NEWS
index 3560c9d..ac1fd34 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -2399,6 +2399,9 @@ This command, called interactively, toggles the local
value of
** Miscellaneous
---
+*** 'image-dired-mouse-toggle-mark' now toggles files in the active region.
+
+---
*** 'shell-script-mode' now supports 'outline-minor-mode'.
The outline headings have lines that start with "###".
diff --git a/lisp/image-dired.el b/lisp/image-dired.el
index 74985b9e..cef145e 100644
--- a/lisp/image-dired.el
+++ b/lisp/image-dired.el
@@ -2311,16 +2311,31 @@ non-nil."
(image-dired-track-original-file))
(image-dired-display-thumb-properties))
+(defun image-dired-mouse-toggle-mark-1 ()
+ "Toggle dired mark for current thumbnail.
+Track this in associated dired buffer if `image-dired-track-movement' is
+non-nil."
+ (when image-dired-track-movement
+ (image-dired-track-original-file))
+ (image-dired-toggle-mark-thumb-original-file))
+
(defun image-dired-mouse-toggle-mark (event)
"Use mouse EVENT to toggle dired mark for thumbnail.
+Toggle marks of all thumbnails in region, if it's active.
Track this in associated dired buffer if `image-dired-track-movement' is
non-nil."
(interactive "e")
- (mouse-set-point event)
- (goto-char (posn-point (event-end event)))
- (if image-dired-track-movement
- (image-dired-track-original-file))
- (image-dired-toggle-mark-thumb-original-file))
+ (if (use-region-p)
+ (let ((end (region-end)))
+ (save-excursion
+ (goto-char (region-beginning))
+ (while (<= (point) end)
+ (when (image-dired-image-at-point-p)
+ (image-dired-mouse-toggle-mark-1))
+ (forward-char))))
+ (mouse-set-point event)
+ (goto-char (posn-point (event-end event)))
+ (image-dired-mouse-toggle-mark-1)))
(defun image-dired-dired-display-properties ()
"Display properties for dired file in the echo area."