Move the cursorToolOnLoad preference handling into AppOptions (PR 9493 follow-up)

Since no other viewer component is currently reading preferences itself, this patch thus unifies the behaviour across the viewer.
This commit is contained in:
Jonas Jenwald 2018-03-19 23:24:56 +01:00
parent 6db9c3cb49
commit c2f1523f06
3 changed files with 16 additions and 7 deletions

View File

@ -179,6 +179,9 @@ let PDFViewerApplication = {
preferences.get('sidebarViewOnLoad').then(function resolved(value) {
AppOptions.set('sidebarViewOnLoad', value);
}),
preferences.get('cursorToolOnLoad').then(function resolved(value) {
AppOptions.set('cursorToolOnLoad', value);
}),
preferences.get('pdfBugEnabled').then(function resolved(value) {
AppOptions.set('pdfBugEnabled', value);
}),
@ -434,7 +437,7 @@ let PDFViewerApplication = {
this.pdfCursorTools = new PDFCursorTools({
container,
eventBus,
preferences: this.preferences,
cursorToolOnLoad: AppOptions.get('cursorToolOnLoad'),
});
this.toolbar = new Toolbar(appConfig.toolbar, container, eventBus,

View File

@ -28,6 +28,11 @@ const OptionKind = {
* compare with the format of `default_preferences.json`.
*/
const defaultOptions = {
cursorToolOnLoad: {
/** @type {number} */
value: 0,
kind: OptionKind.VIEWER,
},
defaultUrl: {
/** @type {string} */
value: 'compressed.tracemonkey-pldi-09.pdf',

View File

@ -25,15 +25,16 @@ const CursorTool = {
* @typedef {Object} PDFCursorToolsOptions
* @property {HTMLDivElement} container - The document container.
* @property {EventBus} eventBus - The application event bus.
* @property {BasePreferences} preferences - Object for reading/writing
* persistent settings.
* @property {number} cursorToolOnLoad - (optional) The cursor tool that will be
* enabled on load; the constants from {CursorTool} should be used.
* The default value is `CursorTool.SELECT`.
*/
class PDFCursorTools {
/**
* @param {PDFCursorToolsOptions} options
*/
constructor({ container, eventBus, preferences, }) {
constructor({ container, eventBus, cursorToolOnLoad = CursorTool.SELECT, }) {
this.container = container;
this.eventBus = eventBus;
@ -46,9 +47,9 @@ class PDFCursorTools {
this._addEventListeners();
preferences.get('cursorToolOnLoad').then((value) => {
this.switchTool(value);
}).catch(() => { });
Promise.resolve().then(() => {
this.switchTool(cursorToolOnLoad);
});
}
/**