* doc-view.el (doc-view-reset-zoom-level): New command.
authorTassilo Horn <tsdh@gnu.org>
Thu, 26 Sep 2013 19:05:50 +0000 (21:05 +0200)
committerTassilo Horn <tsdh@gnu.org>
Thu, 26 Sep 2013 19:05:50 +0000 (21:05 +0200)
(doc-view-mode-map): Remap text-scale-adjust bindings to doc-view
zoom commands (bug#15466).

lisp/ChangeLog
lisp/doc-view.el

index 73d3cd9..512fff9 100644 (file)
@@ -1,3 +1,9 @@
+2013-09-26  Tassilo Horn  <tsdh@gnu.org>
+
+       * doc-view.el (doc-view-reset-zoom-level): New command.
+       (doc-view-mode-map): Remap text-scale-adjust bindings to doc-view
+       zoom commands (bug#15466).
+
 2013-09-26  Kenichi Handa  <handa@gnu.org>
 
        * international/quail.el (quail-help): Make it not a command.
index cbf4d0b..9f3ac32 100644 (file)
@@ -405,7 +405,11 @@ Typically \"page-%s.png\".")
     (define-key map (kbd "RET")       'image-next-line)
     ;; Zoom in/out.
     (define-key map "+"               'doc-view-enlarge)
+    (define-key map "="               'doc-view-enlarge)
     (define-key map "-"               'doc-view-shrink)
+    (define-key map [remap text-scale-adjust] 'doc-view-enlarge)
+    (define-key map (kbd "C-x C--")   'doc-view-shrink)
+    (define-key map (kbd "C-x C-0")   'doc-view-reset-zoom-level)
     ;; Fit the image to the window
     (define-key map "W"               'doc-view-fit-width-to-window)
     (define-key map "H"               'doc-view-fit-height-to-window)
@@ -753,6 +757,20 @@ OpenDocument format)."
   (interactive (list doc-view-shrink-factor))
   (doc-view-enlarge (/ 1.0 factor)))
 
+(defun doc-view-reset-zoom-level ()
+  "Reset the document size/zoom level to the initial one."
+  (interactive)
+  (if (and doc-view-scale-internally
+           (eq (plist-get (cdr (doc-view-current-image)) :type)
+               'imagemagick))
+      (progn
+       (kill-local-variable 'doc-view-image-width)
+       (doc-view-insert-image
+        (plist-get (cdr (doc-view-current-image)) :file)
+        :width doc-view-image-width))
+    (kill-local-variable 'doc-view-resolution)
+    (doc-view-reconvert-doc)))
+
 (defun doc-view-fit-width-to-window ()
   "Fit the image width to the window width."
   (interactive)