Allow the scrollModeOnLoad/spreadModeOnLoad Preferences to override ViewHistory settings

Note how the other "...OnLoad" preferences will allow a *non-default* value to always override a history entry. To improve overall consistency for the viewer options, and to reduce possibly confusing behaviour, this patch changes the `scrollModeOnLoad`/`spreadModeOnLoad` preferences to behave as all the other ones.
This commit is contained in:
Jonas Jenwald 2018-06-29 13:16:00 +02:00
parent baf9c98bc7
commit a9a93bd923

View File

@ -1043,12 +1043,8 @@ let PDFViewerApplication = {
rotation = parseInt(values.rotation, 10); rotation = parseInt(values.rotation, 10);
sidebarView = sidebarView || (values.sidebarView | 0); sidebarView = sidebarView || (values.sidebarView | 0);
if (values.scrollMode !== null) { scrollMode = scrollMode || (values.scrollMode | 0);
scrollMode = values.scrollMode; spreadMode = spreadMode || (values.spreadMode | 0);
}
if (values.spreadMode !== null) {
spreadMode = values.spreadMode;
}
} }
if (pageMode && !AppOptions.get('disablePageMode')) { if (pageMode && !AppOptions.get('disablePageMode')) {
// Always let the user preference/history take precedence. // Always let the user preference/history take precedence.
@ -1245,23 +1241,26 @@ let PDFViewerApplication = {
}); });
}, },
setInitialView(storedHash, values = {}) { setInitialView(storedHash, { rotation, sidebarView,
let { rotation, sidebarView, scrollMode, spreadMode, } = values; scrollMode, spreadMode, } = {}) {
let setRotation = (angle) => { let setRotation = (angle) => {
if (isValidRotation(angle)) { if (isValidRotation(angle)) {
this.pdfViewer.pagesRotation = angle; this.pdfViewer.pagesRotation = angle;
} }
}; };
let setViewerModes = (scroll, spread) => {
if (Number.isInteger(scroll)) {
this.pdfViewer.setScrollMode(scroll);
}
if (Number.isInteger(spread)) {
this.pdfViewer.setSpreadMode(spread);
}
};
// Putting these before isInitialViewSet = true prevents these values from // Putting these before isInitialViewSet = true prevents these values from
// being stored in the document history (and overriding any future changes // being stored in the document history (and overriding any future changes
// made to the corresponding global preferences), just this once. // made to the corresponding global preferences), just this once.
if (Number.isInteger(scrollMode)) { setViewerModes(scrollMode, spreadMode);
this.pdfViewer.setScrollMode(scrollMode);
}
if (Number.isInteger(spreadMode)) {
this.pdfViewer.setSpreadMode(spreadMode);
}
this.isInitialViewSet = true; this.isInitialViewSet = true;
this.pdfSidebar.setInitialView(sidebarView); this.pdfSidebar.setInitialView(sidebarView);