loleaflet/src/map/Map.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+)
New commits: commit b47013c0e9e80906732d6f50724cfffd77ee5b9e Author: Marco Cecchetti <[email protected]> Date: Mon Jan 25 15:46:11 2016 +0100 loleaflet - active cursor in multiple documents - fixed Added handlers for focus and blur events. Change-Id: Ie85ae264696e5221168f7ac280ba91732e9f5df3 diff --git a/loleaflet/src/map/Map.js b/loleaflet/src/map/Map.js index 87dd60f..eb430a9 100644 --- a/loleaflet/src/map/Map.js +++ b/loleaflet/src/map/Map.js @@ -607,6 +607,9 @@ L.Map = L.Evented.extend({ if (this.options.trackResize && this._resizeDetector.contentWindow) { L.DomEvent[onOff](this._resizeDetector.contentWindow, 'resize', this._onResize, this); } + + L.DomEvent[onOff](window, 'blur', this._onLostFocus, this); + L.DomEvent[onOff](window, 'focus', this._onGotFocus, this); }, _onResize: function () { @@ -615,6 +618,31 @@ L.Map = L.Evented.extend({ function () { this.invalidateSize({debounceMoveend: true}); }, this, false, this._container); }, + _onLostFocus: function () { + var doclayer = this._docLayer; + if (doclayer._isCursorVisible && doclayer._isCursorOverlayVisible) { + doclayer._visibleCursorOnLostFocus = doclayer._visibleCursor; + doclayer._isCursorOverlayVisibleOnLostFocus = doclayer._isCursorVisibleOnLostFocus = true; + doclayer._isCursorOverlayVisible = false; + doclayer._onUpdateCursor(); + } + }, + + _onGotFocus: function () { + var doclayer = this._docLayer; + if (doclayer._isCursorVisibleOnLostFocus && doclayer._isCursorOverlayVisibleOnLostFocus) { + // we restore the old cursor position by a small delay, so that if the user clicks + // inside the document we skip to restore it, so that the user does not see the cursor + // jumping from the old position to the new one + setTimeout(function () { + if (doclayer._isCursorOverlayVisible) { return; } // user has clicked inside the document + doclayer._isCursorOverlayVisible = doclayer._isCursorVisible = true; + doclayer._visibleCursor = doclayer._visibleCursorOnLostFocus; + doclayer._onUpdateCursor(); + }, 300); + } + }, + _isMouseEnteringLeaving: function (e) { var target = e.target || e.srcElement, related = e.relatedTarget; _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
