aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Oteiza2016-12-13 11:32:04 -0500
committerMark Oteiza2016-12-13 11:32:04 -0500
commitbed0373855ea67ca0c393175e6b870b8a7c5ab9c (patch)
tree5aa71a69a9d686a9a93d1b301f742ef83844d637
parentdc833039179ee11dae9aeb15b7d75e7435f7f1c9 (diff)
downloademacs-bed0373855ea67ca0c393175e6b870b8a7c5ab9c.tar.gz
emacs-bed0373855ea67ca0c393175e6b870b8a7c5ab9c.zip
Replace image-dired-setup-dired-keybindings with a minor mode
* lisp/image-dired.el (image-dired-thumbnail-mode): Fix docstring to remove mention of nonexistent image-dired-dired and to refer to the new minor mode. (image-dired-minor-mode-map): New keymap assimilated from image-dired-setup-dired-keybindings. In the future, the keymap parent should be removed, and perhaps also the duplicate bindings that already exist in dired-mode-map. (image-dired-setup-dired-keybindings): Remove. Replace with an obsolete function alias. (image-dired-minor-mode): New minor mode, assuming the role of image-dired-setup-dired-keybindings.
-rw-r--r--lisp/image-dired.el144
1 files changed, 55 insertions, 89 deletions
diff --git a/lisp/image-dired.el b/lisp/image-dired.el
index 7978f075645..80b57336ac8 100644
--- a/lisp/image-dired.el
+++ b/lisp/image-dired.el
@@ -1414,8 +1414,7 @@ You probably want to use this together with
1414(define-derived-mode image-dired-thumbnail-mode 1414(define-derived-mode image-dired-thumbnail-mode
1415 fundamental-mode "image-dired-thumbnail" 1415 fundamental-mode "image-dired-thumbnail"
1416 "Browse and manipulate thumbnail images using dired. 1416 "Browse and manipulate thumbnail images using dired.
1417Use `image-dired-dired' and `image-dired-setup-dired-keybindings' to get a 1417Use `image-dired-minor-mode' to get a nice setup."
1418nice setup to start with."
1419 (message "image-dired-thumbnail-mode enabled")) 1418 (message "image-dired-thumbnail-mode enabled"))
1420 1419
1421(define-derived-mode image-dired-display-image-mode 1420(define-derived-mode image-dired-display-image-mode
@@ -1424,98 +1423,65 @@ nice setup to start with."
1424Resized or in full-size." 1423Resized or in full-size."
1425 (message "image-dired-display-image-mode enabled")) 1424 (message "image-dired-display-image-mode enabled"))
1426 1425
1426(defvar image-dired-minor-mode-map
1427 (let ((map (make-sparse-keymap)))
1428 ;; (set-keymap-parent map dired-mode-map)
1429 ;; Hijack previous and next line movement. Let C-p and C-b be
1430 ;; though...
1431 (define-key map "p" 'image-dired-dired-previous-line)
1432 (define-key map "n" 'image-dired-dired-next-line)
1433 (define-key map [up] 'image-dired-dired-previous-line)
1434 (define-key map [down] 'image-dired-dired-next-line)
1435
1436 (define-key map (kbd "C-S-n") 'image-dired-next-line-and-display)
1437 (define-key map (kbd "C-S-p") 'image-dired-previous-line-and-display)
1438 (define-key map (kbd "C-S-m") 'image-dired-mark-and-display-next)
1439
1440 (define-key map "\C-td" 'image-dired-display-thumbs)
1441 (define-key map [tab] 'image-dired-jump-thumbnail-buffer)
1442 (define-key map "\C-ti" 'image-dired-dired-display-image)
1443 (define-key map "\C-tx" 'image-dired-dired-display-external)
1444 (define-key map "\C-ta" 'image-dired-display-thumbs-append)
1445 (define-key map "\C-t." 'image-dired-display-thumb)
1446 (define-key map "\C-tc" 'image-dired-dired-comment-files)
1447 (define-key map "\C-tf" 'image-dired-mark-tagged-files)
1448
1449 ;; Menu for dired
1450 (easy-menu-define nil map
1451 "Menu for `image-dired-minor-mode'."
1452 '("Image-dired"
1453 ["Copy with EXIF file name" image-dired-copy-with-exif-file-name]
1454 ["Comment files" image-dired-dired-comment-files]
1455 ["Mark tagged files" image-dired-mark-tagged-files]
1456 ["Jump to thumbnail buffer" image-dired-jump-thumbnail-buffer]
1457
1458 ["Toggle movement tracking" image-dired-toggle-movement-tracking]
1459 ["Toggle append browsing" image-dired-toggle-append-browsing]
1460 ["Toggle display properties" image-dired-toggle-dired-display-properties]
1461
1462 ["Display in external viewer" image-dired-dired-display-external]
1463 ["Display image" image-dired-dired-display-image]
1464 ["Display this thumbnail" image-dired-display-thumb]
1465 ["Display thumbnails append" image-dired-display-thumbs-append]
1466
1467 ["Create thumbnails for marked files" image-dired-create-thumbs]
1468
1469 ["Mark and display next" image-dired-mark-and-display-next]
1470 ["Display thumb for previous file" image-dired-previous-line-and-display]
1471 ["Display thumb for next file" image-dired-next-line-and-display]))
1472 map)
1473 "Keymap for `image-dired-minor-mode'.")
1474
1427;;;###autoload 1475;;;###autoload
1428(defun image-dired-setup-dired-keybindings () 1476(define-minor-mode image-dired-minor-mode
1429 "Setup easy-to-use keybindings for the commands to be used in dired mode. 1477 "Setup easy-to-use keybindings for the commands to be used in dired mode.
1430Note that n, p and <down> and <up> will be hijacked and bound to 1478Note that n, p and <down> and <up> will be hijacked and bound to
1431`image-dired-dired-x-line'." 1479`image-dired-dired-x-line'."
1432 (interactive) 1480 :keymap image-dired-minor-mode-map)
1433 1481
1434 ;; Hijack previous and next line movement. Let C-p and C-b be 1482;;;###autoload
1435 ;; though... 1483(define-obsolete-function-alias 'image-dired-setup-dired-keybindings 'image-dired-minor-mode
1436 1484 "26.1")
1437 (define-key dired-mode-map "p" 'image-dired-dired-previous-line)
1438 (define-key dired-mode-map "n" 'image-dired-dired-next-line)
1439 (define-key dired-mode-map [up] 'image-dired-dired-previous-line)
1440 (define-key dired-mode-map [down] 'image-dired-dired-next-line)
1441
1442 (define-key dired-mode-map (kbd "C-S-n") 'image-dired-next-line-and-display)
1443 (define-key dired-mode-map (kbd "C-S-p") 'image-dired-previous-line-and-display)
1444 (define-key dired-mode-map (kbd "C-S-m") 'image-dired-mark-and-display-next)
1445
1446 (define-key dired-mode-map "\C-td" 'image-dired-display-thumbs)
1447 (define-key dired-mode-map "\C-tt" 'image-dired-tag-files)
1448 (define-key dired-mode-map "\C-tr" 'image-dired-delete-tag)
1449 (define-key dired-mode-map [tab] 'image-dired-jump-thumbnail-buffer)
1450 (define-key dired-mode-map "\C-ti" 'image-dired-dired-display-image)
1451 (define-key dired-mode-map "\C-tx" 'image-dired-dired-display-external)
1452 (define-key dired-mode-map "\C-ta" 'image-dired-display-thumbs-append)
1453 (define-key dired-mode-map "\C-t." 'image-dired-display-thumb)
1454 (define-key dired-mode-map "\C-tc" 'image-dired-dired-comment-files)
1455 (define-key dired-mode-map "\C-tf" 'image-dired-mark-tagged-files)
1456
1457 ;; Menu for dired
1458 (define-key dired-mode-map [menu-bar image-dired]
1459 (cons "Image-Dired" (make-sparse-keymap "Image-Dired")))
1460
1461 (define-key dired-mode-map [menu-bar image-dired image-dired-copy-with-exif-file-name]
1462 '("Copy with EXIF file name" . image-dired-copy-with-exif-file-name))
1463
1464 (define-key dired-mode-map [menu-bar image-dired image-dired-dired-comment-files]
1465 '("Comment files" . image-dired-dired-comment-files))
1466
1467 (define-key dired-mode-map [menu-bar image-dired image-dired-mark-tagged-files]
1468 '("Mark tagged files" . image-dired-mark-tagged-files))
1469
1470 (define-key dired-mode-map [menu-bar image-dired image-dired-delete-tag]
1471 '("Remove tag from files" . image-dired-delete-tag))
1472
1473 (define-key dired-mode-map [menu-bar image-dired image-dired-tag-files]
1474 '("Tag files" . image-dired-tag-files))
1475
1476 (define-key dired-mode-map [menu-bar image-dired image-dired-jump-thumbnail-buffer]
1477 '("Jump to thumbnail buffer" . image-dired-jump-thumbnail-buffer))
1478
1479 (define-key dired-mode-map [menu-bar image-dired image-dired-toggle-movement-tracking]
1480 '("Toggle movement tracking" . image-dired-toggle-movement-tracking))
1481
1482 (define-key dired-mode-map
1483 [menu-bar image-dired image-dired-toggle-append-browsing]
1484 '("Toggle append browsing" . image-dired-toggle-append-browsing))
1485
1486 (define-key dired-mode-map
1487 [menu-bar image-dired image-dired-toggle-disp-props]
1488 '("Toggle display properties" . image-dired-toggle-dired-display-properties))
1489
1490 (define-key dired-mode-map
1491 [menu-bar image-dired image-dired-dired-display-external]
1492 '("Display in external viewer" . image-dired-dired-display-external))
1493 (define-key dired-mode-map
1494 [menu-bar image-dired image-dired-dired-display-image]
1495 '("Display image" . image-dired-dired-display-image))
1496 (define-key dired-mode-map
1497 [menu-bar image-dired image-dired-display-thumb]
1498 '("Display this thumbnail" . image-dired-display-thumb))
1499 (define-key dired-mode-map
1500 [menu-bar image-dired image-dired-display-thumbs-append]
1501 '("Display thumbnails append" . image-dired-display-thumbs-append))
1502 (define-key dired-mode-map
1503 [menu-bar image-dired image-dired-display-thumbs]
1504 '("Display thumbnails" . image-dired-display-thumbs))
1505
1506 (define-key dired-mode-map
1507 [menu-bar image-dired image-dired-create-thumbs]
1508 '("Create thumbnails for marked files" . image-dired-create-thumbs))
1509
1510 (define-key dired-mode-map
1511 [menu-bar image-dired image-dired-mark-and-display-next]
1512 '("Mark and display next" . image-dired-mark-and-display-next))
1513 (define-key dired-mode-map
1514 [menu-bar image-dired image-dired-previous-line-and-display]
1515 '("Display thumb for previous file" . image-dired-previous-line-and-display))
1516 (define-key dired-mode-map
1517 [menu-bar image-dired image-dired-next-line-and-display]
1518 '("Display thumb for next file" . image-dired-next-line-and-display)))
1519 1485
1520(declare-function clear-image-cache "image.c" (&optional filter)) 1486(declare-function clear-image-cache "image.c" (&optional filter))
1521 1487