[Libreoffice-commits] online.git: loleaflet/src

Muhammet Kara (via logerrit) logerrit at kemper.freedesktop.org
Wed Sep 25 18:50:32 UTC 2019


 loleaflet/src/map/handler/Map.TouchGesture.js |   23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

New commits:
commit 56f93367b438f67b6fc38a5055079d12485a275c
Author:     Muhammet Kara <muhammet.kara at collabora.com>
AuthorDate: Wed Jul 24 18:11:56 2019 +0300
Commit:     Muhammet Kara <muhammet.kara at collabora.com>
CommitDate: Wed Sep 25 20:50:15 2019 +0200

    Fix range selection for Function Wizard on mobile
    
    [ Miklos: cherry-pick this early as it has no change-id. ]
    
    Change-Id: Ifb4229d9b3aacb3248dc16be11edd2a9c3379a27
    Reviewed-on: https://gerrit.libreoffice.org/79550
    Reviewed-by: Muhammet Kara <muhammet.kara at collabora.com>
    Tested-by: Muhammet Kara <muhammet.kara at collabora.com>

diff --git a/loleaflet/src/map/handler/Map.TouchGesture.js b/loleaflet/src/map/handler/Map.TouchGesture.js
index 6081c8539..e78709e56 100644
--- a/loleaflet/src/map/handler/Map.TouchGesture.js
+++ b/loleaflet/src/map/handler/Map.TouchGesture.js
@@ -120,11 +120,30 @@ L.Map.TouchGesture = L.Handler.extend({
 
 	_onHammer: function (e) {
 		this._map.notifyActive();
+
+		// Function/Formula Wizard keeps the formula cell active all the time,
+		// so the usual range selection doesn't work here.
+		// Instead, the cells are highlighted with a certain color and opacity
+		// to mark as selection. And that's why we are checking for it here.
+		// FIXME: JS-ify. This code is written by a C++ dev.
+		function getFuncWizRangeBounds (obj) {
+			for (var i in obj._map._layers) {
+				if (obj._map._layers[i].options && obj._map._layers[i].options.fillColor
+					&& obj._map._layers[i].options.fillOpacity) {
+					if (obj._map._layers[i].options.fillColor === '#ef0fff'
+						&& obj._map._layers[i].options.fillOpacity === 0.25) {
+						return obj._map._layers[i]._bounds;
+					}
+				}
+			}
+		}
+
 		if (e.isFirst) {
 			var point = e.pointers[0],
 			    containerPoint = this._map.mouseEventToContainerPoint(point),
 			    layerPoint = this._map.containerPointToLayerPoint(containerPoint),
-			    latlng = this._map.layerPointToLatLng(layerPoint);
+			    latlng = this._map.layerPointToLatLng(layerPoint),
+			funcWizardRangeBounds = getFuncWizRangeBounds(this);
 
 			if (this._map._docLayer._graphicMarker) {
 				this._marker = this._map._docLayer._graphicMarker.transform.getMarker(layerPoint);
@@ -136,6 +155,8 @@ L.Map.TouchGesture = L.Handler.extend({
 				this._state = L.Map.TouchGesture.GRAPHIC;
 			} else if (this._map._docLayer._cellCursor && this._map._docLayer._cellCursor.contains(latlng)) {
 				this._state = L.Map.TouchGesture.CURSOR;
+			} else if (this._map._docLayer._cellCursor && funcWizardRangeBounds && funcWizardRangeBounds.contains(latlng)) {
+				this._state = L.Map.TouchGesture.CURSOR;
 			} else {
 				this._state = L.Map.TouchGesture.MAP;
 			}


More information about the Libreoffice-commits mailing list