Merge pull request #7207 from timvandermeij/hand-tool-class
Convert the hand tool to a class
This commit is contained in:
commit
a093d755b7
@ -225,11 +225,10 @@ var PDFViewerApplication = {
|
|||||||
|
|
||||||
this.overlayManager = OverlayManager;
|
this.overlayManager = OverlayManager;
|
||||||
|
|
||||||
HandTool.initialize({
|
this.handTool = new HandTool({
|
||||||
container: container,
|
container: container,
|
||||||
toggleHandTool: document.getElementById('toggleHandTool')
|
toggleHandTool: document.getElementById('toggleHandTool')
|
||||||
});
|
});
|
||||||
this.handTool = HandTool;
|
|
||||||
|
|
||||||
this.pdfDocumentProperties = new PDFDocumentProperties({
|
this.pdfDocumentProperties = new PDFDocumentProperties({
|
||||||
overlayName: 'documentPropertiesOverlay',
|
overlayName: 'documentPropertiesOverlay',
|
||||||
@ -2148,7 +2147,7 @@ window.addEventListener('keydown', function keydown(evt) {
|
|||||||
|
|
||||||
case 72: // 'h'
|
case 72: // 'h'
|
||||||
if (!isViewerInPresentationMode) {
|
if (!isViewerInPresentationMode) {
|
||||||
HandTool.toggle();
|
PDFViewerApplication.handTool.toggle();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 82: // 'r'
|
case 82: // 'r'
|
||||||
|
@ -35,30 +35,49 @@ var GrabToPan = grabToPan.GrabToPan;
|
|||||||
var Preferences = preferences.Preferences;
|
var Preferences = preferences.Preferences;
|
||||||
var SecondaryToolbar = secondaryToolbar.SecondaryToolbar;
|
var SecondaryToolbar = secondaryToolbar.SecondaryToolbar;
|
||||||
|
|
||||||
var HandTool = {
|
/**
|
||||||
initialize: function handToolInitialize(options) {
|
* @typedef {Object} HandToolOptions
|
||||||
var toggleHandTool = options.toggleHandTool;
|
* @property {HTMLDivElement} container - The document container.
|
||||||
|
* @property {HTMLButtonElement} toggleHandTool - The button element for
|
||||||
|
* toggling the hand tool.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @class
|
||||||
|
*/
|
||||||
|
var HandTool = (function HandToolClosure() {
|
||||||
|
/**
|
||||||
|
* @constructs HandTool
|
||||||
|
* @param {HandToolOptions} options
|
||||||
|
*/
|
||||||
|
function HandTool(options) {
|
||||||
|
this.container = options.container;
|
||||||
|
this.toggleHandTool = options.toggleHandTool;
|
||||||
|
|
||||||
|
this.wasActive = false;
|
||||||
|
|
||||||
this.handTool = new GrabToPan({
|
this.handTool = new GrabToPan({
|
||||||
element: options.container,
|
element: this.container,
|
||||||
onActiveChanged: function(isActive) {
|
onActiveChanged: function(isActive) {
|
||||||
if (!toggleHandTool) {
|
if (!this.toggleHandTool) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (isActive) {
|
if (isActive) {
|
||||||
toggleHandTool.title =
|
this.toggleHandTool.title =
|
||||||
mozL10n.get('hand_tool_disable.title', null, 'Disable hand tool');
|
mozL10n.get('hand_tool_disable.title', null, 'Disable hand tool');
|
||||||
toggleHandTool.firstElementChild.textContent =
|
this.toggleHandTool.firstElementChild.textContent =
|
||||||
mozL10n.get('hand_tool_disable_label', null, 'Disable hand tool');
|
mozL10n.get('hand_tool_disable_label', null, 'Disable hand tool');
|
||||||
} else {
|
} else {
|
||||||
toggleHandTool.title =
|
this.toggleHandTool.title =
|
||||||
mozL10n.get('hand_tool_enable.title', null, 'Enable hand tool');
|
mozL10n.get('hand_tool_enable.title', null, 'Enable hand tool');
|
||||||
toggleHandTool.firstElementChild.textContent =
|
this.toggleHandTool.firstElementChild.textContent =
|
||||||
mozL10n.get('hand_tool_enable_label', null, 'Enable hand tool');
|
mozL10n.get('hand_tool_enable_label', null, 'Enable hand tool');
|
||||||
}
|
}
|
||||||
}
|
}.bind(this)
|
||||||
});
|
});
|
||||||
if (toggleHandTool) {
|
|
||||||
toggleHandTool.addEventListener('click', this.toggle.bind(this), false);
|
if (this.toggleHandTool) {
|
||||||
|
this.toggleHandTool.addEventListener('click', this.toggle.bind(this));
|
||||||
|
|
||||||
window.addEventListener('localized', function (evt) {
|
window.addEventListener('localized', function (evt) {
|
||||||
Preferences.get('enableHandToolOnLoad').then(function resolved(value) {
|
Preferences.get('enableHandToolOnLoad').then(function resolved(value) {
|
||||||
@ -79,27 +98,38 @@ var HandTool = {
|
|||||||
}
|
}
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
}
|
}
|
||||||
},
|
|
||||||
|
|
||||||
toggle: function handToolToggle() {
|
|
||||||
this.handTool.toggle();
|
|
||||||
SecondaryToolbar.close();
|
|
||||||
},
|
|
||||||
|
|
||||||
enterPresentationMode: function handToolEnterPresentationMode() {
|
|
||||||
if (this.handTool.active) {
|
|
||||||
this.wasActive = true;
|
|
||||||
this.handTool.deactivate();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
exitPresentationMode: function handToolExitPresentationMode() {
|
|
||||||
if (this.wasActive) {
|
|
||||||
this.wasActive = null;
|
|
||||||
this.handTool.activate();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
|
||||||
|
HandTool.prototype = {
|
||||||
|
/**
|
||||||
|
* @return {boolean}
|
||||||
|
*/
|
||||||
|
get isActive() {
|
||||||
|
return !!this.handTool.active;
|
||||||
|
},
|
||||||
|
|
||||||
|
toggle: function HandTool_toggle() {
|
||||||
|
this.handTool.toggle();
|
||||||
|
SecondaryToolbar.close();
|
||||||
|
},
|
||||||
|
|
||||||
|
enterPresentationMode: function HandTool_enterPresentationMode() {
|
||||||
|
if (this.isActive) {
|
||||||
|
this.wasActive = true;
|
||||||
|
this.handTool.deactivate();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
exitPresentationMode: function HandTool_exitPresentationMode() {
|
||||||
|
if (this.wasActive) {
|
||||||
|
this.wasActive = false;
|
||||||
|
this.handTool.activate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
return HandTool;
|
||||||
|
})();
|
||||||
|
|
||||||
exports.HandTool = HandTool;
|
exports.HandTool = HandTool;
|
||||||
}));
|
}));
|
||||||
|
Loading…
Reference in New Issue
Block a user