diff --git a/l10n/en-US/viewer.properties b/l10n/en-US/viewer.properties index 35391eabd..dfd76700f 100644 --- a/l10n/en-US/viewer.properties +++ b/l10n/en-US/viewer.properties @@ -49,6 +49,8 @@ thumb_page_title=Page {{page}} thumb_page_canvas=Thumbnail of Page {{page}} # Context menu +first_page.label=First Page +last_page.label=Last Page page_rotate_cw.label=Rotate Clockwise page_rotate_ccw.label=Rotate Counter-Clockwise diff --git a/l10n/nl/viewer.properties b/l10n/nl/viewer.properties index 45bbec253..a33aad92f 100644 --- a/l10n/nl/viewer.properties +++ b/l10n/nl/viewer.properties @@ -48,6 +48,10 @@ thumb_page_title=Pagina {{page}} # number. thumb_page_canvas=Miniatuur van pagina {{page}} +# Context menu +first_page.label=Eerste pagina +last_page.label=Laatste pagina + # Find panel button title and messages find=Zoek find_terms_not_found=(Niet gevonden) diff --git a/web/viewer.html b/web/viewer.html index 3cdb84378..980b7c36d 100644 --- a/web/viewer.html +++ b/web/viewer.html @@ -191,6 +191,10 @@ limitations under the License. </div> <menu type="context" id="viewerContextMenu"> + <menuitem label="First Page" id="first_page" + data-l10n-id="first_page" ></menuitem> + <menuitem label="Last Page" id="last_page" + data-l10n-id="last_page" ></menuitem> <menuitem label="Rotate Counter-Clockwise" id="page_rotate_ccw" data-l10n-id="page_rotate_ccw" ></menuitem> <menuitem label="Rotate Clockwise" id="page_rotate_cw" diff --git a/web/viewer.js b/web/viewer.js index c651d63a5..8fd7b4e8a 100644 --- a/web/viewer.js +++ b/web/viewer.js @@ -1091,6 +1091,7 @@ var PDFView = { document.getElementById('numPages').textContent = mozL10n.get('page_of', {pageCount: pagesCount}, 'of {{pageCount}}'); document.getElementById('pageNumber').max = pagesCount; + PDFView.documentFingerprint = id; var store = PDFView.store = new Settings(id); var storePromise = store.initializedPromise; @@ -2611,15 +2612,25 @@ document.addEventListener('DOMContentLoaded', function webViewerLoad(evt) { PDFView.parseScale(this.value); }); + document.getElementById('first_page').addEventListener('click', + function() { + PDFView.page = 1; + }); + + document.getElementById('last_page').addEventListener('click', + function() { + PDFView.page = PDFView.pdfDocument.numPages; + }); + document.getElementById('page_rotate_ccw').addEventListener('click', - function() { - PDFView.rotatePages(-90); - }); + function() { + PDFView.rotatePages(-90); + }); document.getElementById('page_rotate_cw').addEventListener('click', - function() { - PDFView.rotatePages(90); - }); + function() { + PDFView.rotatePages(90); + }); //#if (FIREFOX || MOZCENTRAL) //if (FirefoxCom.requestSync('getLoadingType') == 'passive') {