[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/osm ef04087c23 2/4: Implement bookmark selection
From: |
ELPA Syncer |
Subject: |
[elpa] externals/osm ef04087c23 2/4: Implement bookmark selection |
Date: |
Tue, 8 Mar 2022 04:57:38 -0500 (EST) |
branch: externals/osm
commit ef04087c230c6801893651e46602c5e25e203d0e
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
Implement bookmark selection
---
osm.el | 34 +++++++++++++++++-----------------
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/osm.el b/osm.el
index 9398da2c05..4584c03d72 100644
--- a/osm.el
+++ b/osm.el
@@ -132,9 +132,9 @@ Should be at least 7 days according to the server usage
policies."
(defvar osm-mode-map
(let ((map (make-sparse-keymap)))
(define-key map [osm-transient] #'ignore)
- (define-key map [osm-bookmark mouse-1] #'osm-bookmark-delete-click)
- (define-key map [osm-bookmark mouse-2] #'osm-bookmark-delete-click)
- (define-key map [osm-bookmark mouse-3] #'osm-bookmark-delete-click)
+ (define-key map [osm-bookmark mouse-1] #'osm-bookmark-select-click)
+ (define-key map [osm-bookmark mouse-2] #'osm-bookmark-select-click)
+ (define-key map [osm-bookmark mouse-3] #'osm-bookmark-select-click)
(define-key map "+" #'osm-zoom-in)
(define-key map "-" #'osm-zoom-out)
(define-key map " " #'osm-zoom-in)
@@ -393,7 +393,7 @@ Should be at least 7 days according to the server usage
policies."
(when (< osm--zoom (osm--server-property :max-zoom))
(cl-incf osm--x (- x osm--wx))
(cl-incf osm--y (- y osm--wy))
- (osm--put-transient-pin 'osm-transient "#ff0088" "Center" 'auto-remove)
+ (osm--put-transient-pin 'osm-transient osm--x osm--y "#ff0088" "Center"
'auto-remove)
(osm--update))))
(defun osm-bookmark-set-click (event)
@@ -404,8 +404,8 @@ Should be at least 7 days according to the server usage
policies."
(osm--y (+ osm--y (- y osm--wy))))
(osm-bookmark-set)))
-(defun osm-bookmark-delete-click (event)
- "Delete bookmark at position of click EVENT."
+(defun osm-bookmark-select-click (event)
+ "Select bookmark at position of click EVENT."
(interactive "@e")
(pcase-let* ((`(,x . ,y) (posn-x-y (event-start event)))
(x (+ osm--x (- x osm--wx)))
@@ -419,11 +419,11 @@ Should be at least 7 days according to the server usage
policies."
(q (osm--lat-to-y (car coord) osm--zoom))
(d (+ (* (- p x) (- p x)) (* (- q y) (- q y)))))
(when (and (>= q y) (< q (+ y 50)) (>= p (- x 20)) (< p (+ x 20)) (<
d min))
- (setq min d found (car bm))))))
- (unless found
- (error "No bookmark at point"))
- (when (y-or-n-p (format "Delete bookmark '%s'? " found))
- (osm-bookmark-delete found))))
+ (setq min d found `(,p ,q . ,(car bm)))))))
+ (osm--put-transient-pin 'osm-selected-bookmark
+ (car found) (cadr found)
+ "#FF0000" (cddr found))
+ (osm--update)))
(defun osm-org-link-click (event)
"Store link at position of click EVENT."
@@ -432,7 +432,7 @@ Should be at least 7 days according to the server usage
policies."
(osm--x (+ osm--x (- x osm--wx)))
(osm--y (+ osm--y (- y osm--wy))))
(call-interactively 'org-store-link)
- (osm--put-transient-pin 'osm-transient "#7a9" "Org Link" 'auto-remove))
+ (osm--put-transient-pin 'osm-transient osm--x osm--y "#7a9" "Org Link"
'auto-remove))
(osm--update))
(defun osm-zoom-in (&optional n)
@@ -848,12 +848,12 @@ xmlns='http://www.w3.org/2000/svg'
xmlns:xlink='http://www.w3.org/1999/xlink'>
osm--zoom (nth 2 at)
osm--x (osm--lon-to-x (nth 1 at) osm--zoom)
osm--y (osm--lat-to-y (nth 0 at) osm--zoom))
- (osm--put-transient-pin 'osm-transient "#ff0088" "Center" 'auto-remove))
+ (osm--put-transient-pin 'osm-transient osm--x osm--y "#ff0088" "Center"
'auto-remove))
(prog1 (pop-to-buffer (current-buffer))
(osm--update))))
-(defun osm--put-transient-pin (id color help &optional auto-remove)
- "Set transient pin with COLOR, ID and HELP.
+(defun osm--put-transient-pin (id x y color help &optional auto-remove)
+ "Set transient pin at X/Y with COLOR, ID and HELP.
AUTO-REMOVE the pin if non-nil."
(let ((buffer (current-buffer))
(sym (make-symbol "osm--remove-transient-pin")))
@@ -864,7 +864,7 @@ AUTO-REMOVE the pin if non-nil."
(remove-hook 'pre-command-hook sym))))
(add-hook 'pre-command-hook sym))
(setf (alist-get id osm--transient-pins)
- (list osm--x osm--y color help))))
+ (list x y color help))))
;;;###autoload
(defun osm-goto (lat lon zoom)
@@ -1003,7 +1003,7 @@ MSG is a message prefix string."
#'osm-zoom-out #'osm-zoom-in #'osm-bookmark-set))
(put sym 'command-modes '(osm-mode)))
(dolist (sym (list #'osm-drag #'osm-center-click #'osm-org-link-click
- #'osm-bookmark-set-click #'osm-bookmark-delete-click))
+ #'osm-bookmark-set-click #'osm-bookmark-select-click))
(put sym 'completion-predicate #'ignore))
(provide 'osm)