diff --git a/chrome/content/zotero/reader.xhtml b/chrome/content/zotero/reader.xhtml index 6301c630d0..a25b90ffe1 100644 --- a/chrome/content/zotero/reader.xhtml +++ b/chrome/content/zotero/reader.xhtml @@ -94,7 +94,7 @@ - + { if (event.target === this._window.document) { this._popupset = this._window.document.getElementById('zotero-reader-popupset'); + this._window.onFileMenuOpen = this._onFileMenuOpen.bind(this); this._window.onGoMenuOpen = this._onGoMenuOpen.bind(this); this._window.onViewMenuOpen = this._onViewMenuOpen.bind(this); this._window.reader = this; @@ -1251,6 +1252,22 @@ class ReaderWindow extends ReaderInstance { this._window.document.title = title; } + _onFileMenuOpen() { + let item = Zotero.Items.get(this._item.id); + let library = Zotero.Libraries.get(item.libraryID); + if (item + && library.filesEditable + && library.editable + && !(item.deleted || item.parentItem && item.parentItem.deleted)) { + let annotations = item.getAnnotations(); + let canTransferFromPDF = annotations.find(x => x.annotationIsExternal); + this._window.document.getElementById('menu_transferFromPDF').setAttribute('disabled', !canTransferFromPDF); + } + else { + this._window.document.getElementById('menu_transferFromPDF').setAttribute('disabled', true); + } + } + _onViewMenuOpen() { if (this._type === 'pdf' || this._type === 'epub') { this._window.document.getElementById('view-menuitem-no-spreads').setAttribute('checked', this._internalReader.spreadMode === 0);