emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 21fc2b04e9 2/3: New command image-dired-do-flagged-delete


From: Stefan Kangas
Subject: master 21fc2b04e9 2/3: New command image-dired-do-flagged-delete
Date: Thu, 29 Sep 2022 10:33:47 -0400 (EDT)

branch: master
commit 21fc2b04e9a831cbb5ffce71c3e4e4c35be0a8db
Author: Peter Münster <pm@a16n.net>
Commit: Stefan Kangas <stefankangas@gmail.com>

    New command image-dired-do-flagged-delete
    
    * lisp/image/image-dired.el (image-dired-delete-marked): Remove command,
    because it was too buggy.
    (image-dired-do-flagged-delete): New command that does almost the same
    as the above removed command but with flagged images.
    (image-dired-thumbnail-mode-map): Bind "x" to
    'image-dired-do-flagged-delete'.
---
 lisp/image/image-dired.el | 23 +++++++++++++++--------
 1 file changed, 15 insertions(+), 8 deletions(-)

diff --git a/lisp/image/image-dired.el b/lisp/image/image-dired.el
index 661fa9dec1..8fb89d4502 100644
--- a/lisp/image/image-dired.el
+++ b/lisp/image/image-dired.el
@@ -905,6 +905,7 @@ You probably want to use this together with
   "m"          #'image-dired-mark-thumb-original-file
   "u"          #'image-dired-unmark-thumb-original-file
   "U"          #'image-dired-unmark-all-marks
+  "x"          #'image-dired-do-flagged-delete
   "."          #'image-dired-track-original-file
   "<tab>"      #'image-dired-jump-original-dired-buffer
 
@@ -960,7 +961,7 @@ You probably want to use this together with
     ["Unmark image" image-dired-unmark-thumb-original-file]
     ["Unmark all images" image-dired-unmark-all-marks]
     ["Flag for deletion" image-dired-flag-thumb-original-file]
-    ["Delete marked images" image-dired-delete-marked]
+    ["Delete flagged images" image-dired-do-flagged-delete]
     "---"
     ["Rotate original right" image-dired-rotate-original-right]
     ["Rotate original left" image-dired-rotate-original-left]
@@ -1341,18 +1342,22 @@ for deletion instead."
   "Check if file is flagged for deletion in associated Dired buffer."
   (image-dired-thumb-file-marked-p t))
 
-(defun image-dired-delete-marked ()
-  "Delete current or marked thumbnails and associated images."
+(defun image-dired-do-flagged-delete ()
+  "Delete flagged thumbnails and associated images."
   (interactive nil image-dired-thumbnail-mode)
   (unless (derived-mode-p 'image-dired-thumbnail-mode)
     (user-error "Not in `image-dired-thumbnail-mode'"))
-  (image-dired--with-marked
-   (image-dired-delete-char)
-   (unless (bobp)
-     (backward-char)))
+  (let ((inhibit-read-only t))
+    (goto-char (point-min))
+    (while (not (eobp))
+      (if (image-dired-thumb-file-flagged-p)
+          (progn
+            (delete-char 1)
+            (forward-char))
+        (forward-char 2))))
   (image-dired--line-up-with-method)
   (image-dired--on-file-in-dired-buffer
-    (dired-do-delete)))
+    (dired-do-flagged-delete)))
 
 (defun image-dired--thumb-update-mark-at-point ()
   (with-silent-modifications
@@ -1950,6 +1955,8 @@ when using per-directory thumbnail file storage"))
   #'image-dired--get-create-thumbnail-file "29.1")
 (define-obsolete-function-alias 'image-dired-display-thumb-properties
   #'image-dired--update-header-line "29.1")
+(define-obsolete-function-alias 'image-dired-delete-marked
+  #'image-dired-do-flagged-delete "29.1")
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;;;;;;; TEST-SECTION ;;;;;;;;;;;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]