loleaflet/src/layer/tile/TileLayer.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-)
New commits: commit 4e92ed56056652c9f654dc649587bd51c92bfc48 Author: Marco Cecchetti <[email protected]> Date: Wed Dec 13 18:09:36 2017 +0100 calc: do not scroll to cell cursor when position is not changed Old behaviour: when a cell cursor message is handled the document is always scrolled in order to make the cell cursor visible. New behaviour: as the old one except when the position of the cell cursor is unchanged: in that case no scroll occurs. Change-Id: Iee9b8e2d9fc8cb72d0292fb48a20cadeedeb015b Reviewed-on: https://gerrit.libreoffice.org/46535 Reviewed-by: Marco Cecchetti <[email protected]> Tested-by: Marco Cecchetti <[email protected]> (cherry picked from commit 9e72b2257b6083c40db8c96bb6d70ba11cdbbe03) Reviewed-on: https://gerrit.libreoffice.org/49018 Reviewed-by: Samuel Mehrbrodt <[email protected]> Tested-by: Samuel Mehrbrodt <[email protected]> diff --git a/loleaflet/src/layer/tile/TileLayer.js b/loleaflet/src/layer/tile/TileLayer.js index 109569ce..7b549812 100644 --- a/loleaflet/src/layer/tile/TileLayer.js +++ b/loleaflet/src/layer/tile/TileLayer.js @@ -624,6 +624,13 @@ L.TileLayer = L.GridLayer.extend({ if (!this._prevCellCursor) { this._prevCellCursor = L.LatLngBounds.createDefault(); } + if (!this._cellCursorXY) { + this._cellCursorXY = new L.Point(-1, -1); + } + if (!this._prevCellCursorXY) { + this._prevCellCursorXY = new L.Point(-1, -1); + } + if (textMsg.match('EMPTY')) { this._cellCursorTwips = new L.Bounds(new L.Point(0, 0), new L.Point(0, 0)); this._cellCursor = L.LatLngBounds.createDefault(); @@ -637,6 +644,7 @@ L.TileLayer = L.GridLayer.extend({ this._cellCursor = new L.LatLngBounds( this._twipsToLatLng(topLeftTwips, this._map.getZoom()), this._twipsToLatLng(bottomRightTwips, this._map.getZoom())); + this._cellCursorXY = new L.Point(parseInt(strTwips[4]), parseInt(strTwips[5])); } var horizontalDirection = 0; @@ -1588,7 +1596,7 @@ L.TileLayer = L.GridLayer.extend({ _onUpdateCellCursor: function (horizontalDirection, verticalDirection, onPgUpDn) { if (this._cellCursor && !this._isEmptyRectangle(this._cellCursor)) { var mapBounds = this._map.getBounds(); - if (!mapBounds.contains(this._cellCursor)) { + if (!mapBounds.contains(this._cellCursor) && !this._cellCursorXY.equals(this._prevCellCursorXY)) { var scrollX = 0, scrollY = 0; if (onPgUpDn) { var mapHalfHeight = (mapBounds.getNorth() - mapBounds.getSouth()) / 2; @@ -1626,6 +1634,7 @@ L.TileLayer = L.GridLayer.extend({ center.y = Math.round(center.y < 0 ? 0 : center.y); this._map.fire('scrollto', {x: center.x, y: center.y}); } + this._prevCellCursorXY = this._cellCursorXY; } if (onPgUpDn) { _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
