Don't allow to rotate or delete pages for read-only PDF

(cherry picked from commit 29dd0cf5dc)
This commit is contained in:
Martynas Bagdonas 2022-10-06 18:00:32 +03:00
parent 35cbbeeea4
commit 8db82c1022

View file

@ -899,6 +899,7 @@ class ReaderInstance {
// Rotate Left // Rotate Left
menuitem = this._window.document.createElement('menuitem'); menuitem = this._window.document.createElement('menuitem');
menuitem.setAttribute('label', Zotero.getString('pdfReader.rotateLeft')); menuitem.setAttribute('label', Zotero.getString('pdfReader.rotateLeft'));
menuitem.setAttribute('disabled', this._isReadOnly());
menuitem.addEventListener('command', async () => { menuitem.addEventListener('command', async () => {
this._postMessage({ action: 'reloading' }); this._postMessage({ action: 'reloading' });
await Zotero.PDFWorker.rotatePages(this._itemID, data.pageIndexes, 270, true); await Zotero.PDFWorker.rotatePages(this._itemID, data.pageIndexes, 270, true);
@ -908,6 +909,7 @@ class ReaderInstance {
// Rotate Right // Rotate Right
menuitem = this._window.document.createElement('menuitem'); menuitem = this._window.document.createElement('menuitem');
menuitem.setAttribute('label', Zotero.getString('pdfReader.rotateRight')); menuitem.setAttribute('label', Zotero.getString('pdfReader.rotateRight'));
menuitem.setAttribute('disabled', this._isReadOnly());
menuitem.addEventListener('command', async () => { menuitem.addEventListener('command', async () => {
this._postMessage({ action: 'reloading' }); this._postMessage({ action: 'reloading' });
await Zotero.PDFWorker.rotatePages(this._itemID, data.pageIndexes, 90, true); await Zotero.PDFWorker.rotatePages(this._itemID, data.pageIndexes, 90, true);
@ -917,6 +919,7 @@ class ReaderInstance {
// Rotate 180 // Rotate 180
menuitem = this._window.document.createElement('menuitem'); menuitem = this._window.document.createElement('menuitem');
menuitem.setAttribute('label', Zotero.getString('pdfReader.rotate180')); menuitem.setAttribute('label', Zotero.getString('pdfReader.rotate180'));
menuitem.setAttribute('disabled', this._isReadOnly());
menuitem.addEventListener('command', async () => { menuitem.addEventListener('command', async () => {
this._postMessage({ action: 'reloading' }); this._postMessage({ action: 'reloading' });
await Zotero.PDFWorker.rotatePages(this._itemID, data.pageIndexes, 180, true); await Zotero.PDFWorker.rotatePages(this._itemID, data.pageIndexes, 180, true);
@ -928,6 +931,7 @@ class ReaderInstance {
// Delete // Delete
menuitem = this._window.document.createElement('menuitem'); menuitem = this._window.document.createElement('menuitem');
menuitem.setAttribute('label', Zotero.getString('general.delete')); menuitem.setAttribute('label', Zotero.getString('general.delete'));
menuitem.setAttribute('disabled', this._isReadOnly());
menuitem.addEventListener('command', async () => { menuitem.addEventListener('command', async () => {
if (this.promptToDeletePages(data.pageIndexes.length)) { if (this.promptToDeletePages(data.pageIndexes.length)) {
this._postMessage({ action: 'reloading' }); this._postMessage({ action: 'reloading' });