|
|
|
@ -35,30 +35,49 @@ var GrabToPan = grabToPan.GrabToPan;
@@ -35,30 +35,49 @@ var GrabToPan = grabToPan.GrabToPan;
|
|
|
|
|
var Preferences = preferences.Preferences; |
|
|
|
|
var SecondaryToolbar = secondaryToolbar.SecondaryToolbar; |
|
|
|
|
|
|
|
|
|
var HandTool = { |
|
|
|
|
initialize: function handToolInitialize(options) { |
|
|
|
|
var toggleHandTool = options.toggleHandTool; |
|
|
|
|
/** |
|
|
|
|
* @typedef {Object} HandToolOptions |
|
|
|
|
* @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({ |
|
|
|
|
element: options.container, |
|
|
|
|
element: this.container, |
|
|
|
|
onActiveChanged: function(isActive) { |
|
|
|
|
if (!toggleHandTool) { |
|
|
|
|
if (!this.toggleHandTool) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
if (isActive) { |
|
|
|
|
toggleHandTool.title = |
|
|
|
|
this.toggleHandTool.title = |
|
|
|
|
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'); |
|
|
|
|
} else { |
|
|
|
|
toggleHandTool.title = |
|
|
|
|
this.toggleHandTool.title = |
|
|
|
|
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'); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}.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) { |
|
|
|
|
Preferences.get('enableHandToolOnLoad').then(function resolved(value) { |
|
|
|
@ -79,27 +98,38 @@ var HandTool = {
@@ -79,27 +98,38 @@ var HandTool = {
|
|
|
|
|
} |
|
|
|
|
}.bind(this)); |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
toggle: function handToolToggle() { |
|
|
|
|
this.handTool.toggle(); |
|
|
|
|
SecondaryToolbar.close(); |
|
|
|
|
}, |
|
|
|
|
HandTool.prototype = { |
|
|
|
|
/** |
|
|
|
|
* @return {boolean} |
|
|
|
|
*/ |
|
|
|
|
get isActive() { |
|
|
|
|
return !!this.handTool.active; |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
enterPresentationMode: function handToolEnterPresentationMode() { |
|
|
|
|
if (this.handTool.active) { |
|
|
|
|
this.wasActive = true; |
|
|
|
|
this.handTool.deactivate(); |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
toggle: function HandTool_toggle() { |
|
|
|
|
this.handTool.toggle(); |
|
|
|
|
SecondaryToolbar.close(); |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
enterPresentationMode: function HandTool_enterPresentationMode() { |
|
|
|
|
if (this.isActive) { |
|
|
|
|
this.wasActive = true; |
|
|
|
|
this.handTool.deactivate(); |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
exitPresentationMode: function handToolExitPresentationMode() { |
|
|
|
|
if (this.wasActive) { |
|
|
|
|
this.wasActive = null; |
|
|
|
|
this.handTool.activate(); |
|
|
|
|
exitPresentationMode: function HandTool_exitPresentationMode() { |
|
|
|
|
if (this.wasActive) { |
|
|
|
|
this.wasActive = false; |
|
|
|
|
this.handTool.activate(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
return HandTool; |
|
|
|
|
})(); |
|
|
|
|
|
|
|
|
|
exports.HandTool = HandTool; |
|
|
|
|
})); |
|
|
|
|