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
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
Go Down
@@ -146,19 +153,13 @@
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
-
-
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
-
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
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
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
Go Up
@@ -146,19 +153,13 @@
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
-
-
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
-
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
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 @@
+
+
+ Print
+
+
+
+
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);