Show spread mode menu items in EPUB reader

Fixes #3318 (only odd spreads supported right now because of CSS grid
limitations)
This commit is contained in:
Abe Jellinek 2023-08-15 17:51:43 -04:00
parent edcacfa92b
commit 7b26dab2f2
4 changed files with 16 additions and 10 deletions

View file

@ -181,14 +181,14 @@
<menuseparator class="menu-type-reader pdf"/>
<menuitem
id="view-menuitem-no-spreads"
class="menu-type-reader pdf"
class="menu-type-reader pdf epub"
label="&zotero.pdfReader.noSpreads;"
type="checkbox"
oncommand="reader.spreadMode = 0"
/>
<menuitem
id="view-menuitem-odd-spreads"
class="menu-type-reader pdf"
class="menu-type-reader pdf epub"
label="&zotero.pdfReader.oddSpreads;"
type="checkbox"
oncommand="reader.spreadMode = 1"
@ -200,6 +200,7 @@
type="checkbox"
oncommand="reader.spreadMode = 2"
/>
<menuseparator class="menu-type-reader pdf epub"/>
<menuitem
id="view-menuitem-scrolled"
class="menu-type-reader epub"

View file

@ -410,14 +410,16 @@ const ZoteroStandalone = new function() {
// PDF Reader
var reader = Zotero.Reader.getByTabID(Zotero_Tabs.selectedID);
if (reader) {
if (reader.type === 'pdf' || reader.type === 'epub') {
this.updateMenuItemCheckmark('view-menuitem-no-spreads', reader.spreadMode === 0);
this.updateMenuItemCheckmark('view-menuitem-odd-spreads', reader.spreadMode === 1);
this.updateMenuItemCheckmark('view-menuitem-even-spreads', reader.spreadMode === 2);
}
if (reader.type === 'pdf') {
this.updateMenuItemCheckmark('view-menuitem-hand-tool', reader.toolType === 'hand');
this.updateMenuItemCheckmark('view-menuitem-vertical-scrolling', reader.scrollMode === 0);
this.updateMenuItemCheckmark('view-menuitem-horizontal-scrolling', reader.scrollMode === 1);
this.updateMenuItemCheckmark('view-menuitem-wrapped-scrolling', reader.scrollMode === 2);
this.updateMenuItemCheckmark('view-menuitem-no-spreads', reader.spreadMode === 0);
this.updateMenuItemCheckmark('view-menuitem-odd-spreads', reader.spreadMode === 1);
this.updateMenuItemCheckmark('view-menuitem-even-spreads', reader.spreadMode === 2);
this.updateMenuItemCheckmark('view-menuitem-zoom-auto', reader.zoomAutoEnabled);
this.updateMenuItemCheckmark('view-menuitem-zoom-page-width', reader.zoomPageWidthEnabled);
this.updateMenuItemCheckmark('view-menuitem-zoom-page-height', reader.zoomPageHeightEnabled);

View file

@ -1132,13 +1132,15 @@ class ReaderWindow extends ReaderInstance {
}
_onViewMenuOpen() {
if (this._type === 'pdf' || this._type === 'epub') {
this._window.document.getElementById('view-menuitem-no-spreads').setAttribute('checked', this._internalReader.spreadMode === 0);
this._window.document.getElementById('view-menuitem-odd-spreads').setAttribute('checked', this._internalReader.spreadMode === 1);
this._window.document.getElementById('view-menuitem-even-spreads').setAttribute('checked', this._internalReader.spreadMode === 2);
}
if (this._type === 'pdf') {
this._window.document.getElementById('view-menuitem-vertical-scrolling').setAttribute('checked', this._internalReader.scrollMode === 0);
this._window.document.getElementById('view-menuitem-horizontal-scrolling').setAttribute('checked', this._internalReader.scrollMode === 1);
this._window.document.getElementById('view-menuitem-wrapped-scrolling').setAttribute('checked', this._internalReader.scrollMode === 2);
this._window.document.getElementById('view-menuitem-no-spreads').setAttribute('checked', this._internalReader.spreadMode === 0);
this._window.document.getElementById('view-menuitem-odd-spreads').setAttribute('checked', this._internalReader.spreadMode === 1);
this._window.document.getElementById('view-menuitem-even-spreads').setAttribute('checked', this._internalReader.spreadMode === 2);
this._window.document.getElementById('view-menuitem-hand-tool').setAttribute('checked', this._internalReader.toolType === 'hand');
this._window.document.getElementById('view-menuitem-zoom-auto').setAttribute('checked', this._internalReader.zoomAutoEnabled);
this._window.document.getElementById('view-menuitem-zoom-page-width').setAttribute('checked', this._internalReader.zoomPageWidthEnabled);

View file

@ -340,14 +340,14 @@
<menuseparator class="menu-type-reader pdf"/>
<menuitem
id="view-menuitem-no-spreads"
class="menu-type-reader pdf"
class="menu-type-reader pdf epub"
type="checkbox"
label="&zotero.pdfReader.noSpreads;"
oncommand="ZoteroStandalone.currentReader.spreadMode = 0"
/>
<menuitem
id="view-menuitem-odd-spreads"
class="menu-type-reader pdf"
class="menu-type-reader pdf epub"
type="checkbox"
label="&zotero.pdfReader.oddSpreads;"
oncommand="ZoteroStandalone.currentReader.spreadMode = 1"
@ -359,6 +359,7 @@
label="&zotero.pdfReader.evenSpreads;"
oncommand="ZoteroStandalone.currentReader.spreadMode = 2"
/>
<menuseparator class="menu-type-reader epub"/>
<menuitem
id="view-menuitem-scrolled"
class="menu-type-reader epub"