changeset 102413:feece1082bed

(doc-view-convert-current-doc): Save the current resolution in the cache directory. (doc-view-initiate-display): Restore the saved resolution when using cached image files.
author Tassilo Horn <tassilo@member.fsf.org>
date Thu, 05 Mar 2009 08:24:26 +0000
parents 11e2d44c18ff
children 5988cd89cf0b
files lisp/ChangeLog lisp/doc-view.el
diffstat 2 files changed, 25 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Thu Mar 05 07:09:33 2009 +0000
+++ b/lisp/ChangeLog	Thu Mar 05 08:24:26 2009 +0000
@@ -1,3 +1,10 @@
+2009-03-05  Tassilo Horn  <tassilo@member.fsf.org>
+
+	* doc-view.el (doc-view-convert-current-doc): Save the current
+	resolution in the cache directory.
+	(doc-view-initiate-display): Restore the saved resolution when
+	using cached image files.
+
 2009-03-05  Glenn Morris  <rgm@gnu.org>
 
 	* mail/rmail.el (rmail-perm-variables): rmail-overlay-list needs to be
--- a/lisp/doc-view.el	Thu Mar 05 07:09:33 2009 +0000
+++ b/lisp/doc-view.el	Thu Mar 05 08:24:26 2009 +0000
@@ -721,8 +721,16 @@
   ;; resets during the redisplay).
   (setq doc-view-pending-cache-flush t)
   (let ((png-file (expand-file-name "page-%d.png"
+                                    (doc-view-current-cache-dir)))
+	(res-file (expand-file-name "resolution.el"
                                     (doc-view-current-cache-dir))))
     (make-directory (doc-view-current-cache-dir) t)
+    ;; Save the used resolution so that it can be restored when
+    ;; reading the cached files.
+    (let ((res doc-view-resolution))
+      (with-temp-buffer
+	(princ res (current-buffer))
+	(write-file res-file)))
     (case doc-view-doc-type
       (dvi
        ;; DVI files have to be converted to PDF before Ghostscript can process
@@ -1045,6 +1053,16 @@
 	(if (doc-view-already-converted-p)
 	    (progn
 	      (message "DocView: using cached files!")
+	      ;; Load the saved resolution
+	      (let ((res-file (expand-file-name "resolution.el"
+						(doc-view-current-cache-dir)))
+		    (res doc-view-resolution))
+		(with-temp-buffer
+		  (when (file-exists-p res-file)
+		    (insert-file-contents res-file)
+		    (setq res (read (current-buffer)))))
+		(when (numberp res)
+		  (set (make-local-variable 'doc-view-resolution) res)))
 	      (doc-view-display (current-buffer) 'force))
 	  (doc-view-convert-current-doc))
 	(message