From: Vivien Nicolas <21@vingtetun.org>
Date: Fri, 29 Jul 2011 16:17:04 +0000 (+0200)
Subject: Use Tango Public Domain icons and add some small tweaks to viewer.js
X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=bf86d1bec855bfab88939979792914945f4e62dd;p=pdf.js.git
Use Tango Public Domain icons and add some small tweaks to viewer.js
---
diff --git a/web/images/document-print.svg b/web/images/document-print.svg
new file mode 100644
index 0000000..0b8837b
--- /dev/null
+++ b/web/images/document-print.svg
@@ -0,0 +1,532 @@
+
+
+
+  
+    
+       
+    
+       
+    
+       
+    
+       
+    
+       
+    
+       
+    
+       
+    
+       
+    
+       
+    
+       
+    
+       
+    
+       
+     
+  
+    
+      
+        image/svg+xml 
+        Print Document 
+        
+          
+            Jakub Steiner 
+           
+         
+        http://jimmac.musichall.cz 
+        
+          
+            document 
+            lpr 
+            print 
+            local 
+            laser 
+            bubblejet 
+            inkjet 
+            print 
+            output 
+            cups 
+            lpd 
+           
+         
+       
+      
+         
+     
+   
+  
+    
+       
+    
+       
+   
+  
+     
+ 
diff --git a/web/images/go-down.svg b/web/images/go-down.svg
index 18dadc4..95b82af 100644
--- a/web/images/go-down.svg
+++ b/web/images/go-down.svg
@@ -2,16 +2,16 @@
 
 
   
+    
         
   
         http://jimmac.musichall.cz 
         Go Down 
         
           
@@ -146,19 +153,13 @@
         
       
       
+         rdf:about="http://creativecommons.org/licenses/publicdomain/">
          
     
   
diff --git a/web/images/go-up.svg b/web/images/go-up.svg
index 0e3d01d..54263df 100644
--- a/web/images/go-up.svg
+++ b/web/images/go-up.svg
@@ -2,16 +2,16 @@
 
 
   
+    
         
   
         http://jimmac.musichall.cz 
         Go Up 
         
           
@@ -146,19 +153,13 @@
         
       
       
+         rdf:about="http://creativecommons.org/licenses/publicdomain/">
          
     
   
diff --git a/web/viewer.html b/web/viewer.html
index 285dadb..e740c2b 100644
--- a/web/viewer.html
+++ b/web/viewer.html
@@ -44,6 +44,13 @@
 
       
 
+      
+         
+
+      
+
       
diff --git a/web/viewer.js b/web/viewer.js
index 3283883..eae5b38 100644
--- a/web/viewer.js
+++ b/web/viewer.js
@@ -5,7 +5,6 @@
 
 var kDefaultURL = 'compressed.tracemonkey-pldi-09.pdf';
 var kDefaultScale = 150;
-
 var kCacheSize = 20;
 
 var Cache = function(size) {
@@ -24,41 +23,40 @@ var PDFView = {
   thumbnails: [],
 
   set scale(val) {
-    var options = document.getElementById('scaleSelect').options;
-    for (var i = 0; i < options.length; i++) {
-      var option = options[i];
-      option.selected = (option.value == val);
-    }
-
     var pages = this.pages;
     var cssUnits = 96.0 / 72.0;
     for (var i = 0; i < pages.length; i++)
       pages[i].update(val / 100 * cssUnits);
 
     // Jump the scroll position to the correct page.
-    this.page = this.page;
+    document.location.hash = this.page;
+
+    var event = document.createEvent("UIEvents");
+    event.initUIEvent("scalechange", false, false, window, val);
+    window.dispatchEvent(event);
   },
 
   set page(val) {
     var pages = this.pages;
-    var input = document.getElementById("pageNumber");
-    if (val <= 0 || val > pages.length) {
-      input.value = this.page;
-      return;
+    if (val <= 0 || val == this.page || val > pages.length) {
+      // TODO If the hash if set to a dumb value, like #123456, the input field
+      // of the UI will be set to it even if no page is changed because its out
+      // of bound.
+      val = this.page || 1;
+    } else {
+      // Draw the page before jumping to it in order to avoid seeing the
+      // possible gap between pages if the page has never been draw before.
+      pages[val - 1].draw();
+      document.location.hash = val;
     }
   
-    document.location.hash = val;
-    document.getElementById("previous").disabled = (val == 1);
-    document.getElementById("next").disabled = (val == pages.length);
-    if (input.value == val)
-      return;
-
-    input.value = val;
-    pages[val - 1].draw();
+    var event = document.createEvent("UIEvents");
+    event.initUIEvent("pagechange", false, false, window, val);
+    window.dispatchEvent(event);
   },
 
   get page() {
-    return parseInt(document.location.hash.substring(1)) || 1;
+    return parseInt(document.location.hash.substring(1));
   },
 
   open: function(url, scale) {
@@ -253,7 +251,7 @@ window.addEventListener('pdfloaded', function(evt) {
   PDFView.load(evt.detail);
 }, true);
 
-window.addEventListener('scroll', function(evt) {
+window.addEventListener('scroll', function onscroll(evt) {
   var visiblePages = PDFView.getVisiblePages();
   for (var i = 0; i < visiblePages.length; i++) {
     var page = visiblePages[i];
@@ -316,3 +314,19 @@ window.addEventListener("transitionend", function(evt) {
   }, 500);
 }, true);
 
+
+window.addEventListener("scalechange", function(evt) {
+  var options = document.getElementById('scaleSelect').options;
+  for (var i = 0; i < options.length; i++) {
+    var option = options[i];
+    option.selected = (option.value == evt.detail);
+  }
+}, true);
+
+window.addEventListener("pagechange", function(evt) {
+  var page = evt.detail;
+  document.location.hash = page;
+  document.getElementById("pageNumber").value = page;
+  document.getElementById("previous").disabled = (page == 1);
+  document.getElementById("next").disabled = (page == PDFView.pages.length);
+}, true);