[Libreoffice-commits] online.git: Branch 'distro/collabora/milestone-3' - 2 commits - loleaflet/debug loleaflet/src

Mihai Varga mihai.varga at collabora.com
Thu Jul 9 05:24:25 PDT 2015


 loleaflet/debug/document/document_simple_example.html |    3 +
 loleaflet/src/control/Control.EditView.js             |    5 ++
 loleaflet/src/layer/tile/TileLayer.js                 |   36 +++++++++++-------
 3 files changed, 29 insertions(+), 15 deletions(-)

New commits:
commit dfa4e3779d8a699558dfcecc0ff4dc6e5c6fe72d
Author: Mihai Varga <mihai.varga at collabora.com>
Date:   Thu Jul 9 15:09:25 2015 +0300

    loleaflet: fixed short document panning in view mode

diff --git a/loleaflet/debug/document/document_simple_example.html b/loleaflet/debug/document/document_simple_example.html
index 4137dfe..27edf71 100644
--- a/loleaflet/debug/document/document_simple_example.html
+++ b/loleaflet/debug/document/document_simple_example.html
@@ -72,7 +72,7 @@
         doc: filePath,
         useSocket : true,
         editMode: editMode,
-        readOnly: true
+        readOnly: false
     });
     map.addLayer(docLayer);
 
diff --git a/loleaflet/src/layer/tile/TileLayer.js b/loleaflet/src/layer/tile/TileLayer.js
index 903b75b..4516a21 100644
--- a/loleaflet/src/layer/tile/TileLayer.js
+++ b/loleaflet/src/layer/tile/TileLayer.js
@@ -746,10 +746,14 @@ L.TileLayer = L.GridLayer.extend({
 		}
 		else if (e.type === 'mouseup') {
 			this._mouseDown = false;
-			if (this._holdMouseEvent) {
-				clearTimeout(this._holdMouseEvent);
-				this._holdMouseEvent = null;
+			if (!this._editMode) {
+				if (this._mouseEventsQueue.length === 0) {
+					// mouse up after panning
+					return;
+				}
 			}
+			clearTimeout(this._holdMouseEvent);
+			this._holdMouseEvent = null;
 			if (this._clickTime && Date.now() - this._clickTime <= 250) {
 				// double click, a click was sent already
 				this._mouseEventsQueue = [];
@@ -757,18 +761,16 @@ L.TileLayer = L.GridLayer.extend({
 			}
 			else {
 				// if it's a click or mouseup after selecting
-				if (this._mouseEventsQueue.length > 0 || this._editMode) {
+				if (this._mouseEventsQueue.length > 0) {
+					// it's a click, fire mousedown
+					this._mouseEventsQueue[0]();
 					this._clickTime = Date.now();
-					if (this._mouseEventsQueue.length > 0) {
-						// fire mousedown
-						this._mouseEventsQueue[0]();
+					if (!this._editMode) {
+						this._editMode = true;
+						this._map.fire('updatemode:edit');
 					}
-					this._mouseEventsQueue = [];
-				}
-				if (!this._editMode) {
-					this._editMode = true;
-					this._map.fire('updatemode:edit');
 				}
+				this._mouseEventsQueue = [];
 				mousePos = this._latLngToTwips(e.latlng);
 				this._postMouseEvent('buttonup', mousePos.x, mousePos.y, 1);
 				this._textArea.focus();
commit 9ce3224829de564dce37623a7396add50745e28e
Author: Mihai Varga <mihai.varga at collabora.com>
Date:   Thu Jul 9 14:50:21 2015 +0300

    loleaflet: start in readOnly mode option

diff --git a/loleaflet/debug/document/document_simple_example.html b/loleaflet/debug/document/document_simple_example.html
index 2b4b394..4137dfe 100644
--- a/loleaflet/debug/document/document_simple_example.html
+++ b/loleaflet/debug/document/document_simple_example.html
@@ -71,7 +71,8 @@
     var docLayer = new L.TileLayer('', {
         doc: filePath,
         useSocket : true,
-        editMode: editMode
+        editMode: editMode,
+        readOnly: true
     });
     map.addLayer(docLayer);
 
diff --git a/loleaflet/src/control/Control.EditView.js b/loleaflet/src/control/Control.EditView.js
index c81787d..748d312 100644
--- a/loleaflet/src/control/Control.EditView.js
+++ b/loleaflet/src/control/Control.EditView.js
@@ -14,7 +14,7 @@ L.Control.EditViewSwitch = L.Control.extend({
 		this._checkBox = L.DomUtil.create('input', 'editview-cb', container);
 		this._checkBox.type = 'checkbox';
 		L.DomEvent.on(this._checkBox, 'change', this._onChange, this);
-        map.on('updatemode:view updatemode:edit', this._onUpdateMode, this);
+		map.on('updatemode:view updatemode:edit updatemode:readonly', this._onUpdateMode, this);
 		container.appendChild(document.createTextNode('Enable editing'));
 		return container;
 	},
@@ -43,6 +43,9 @@ L.Control.EditViewSwitch = L.Control.extend({
 			L.DomUtil.removeClass(this._map._container, className);
 			this._checkBox.checked = false;
 		}
+		else if (e.type === 'updatemode:readonly') {
+			this._checkBox.disabled = true;
+		}
 	}
 });
 
diff --git a/loleaflet/src/layer/tile/TileLayer.js b/loleaflet/src/layer/tile/TileLayer.js
index 0f97438..903b75b 100644
--- a/loleaflet/src/layer/tile/TileLayer.js
+++ b/loleaflet/src/layer/tile/TileLayer.js
@@ -200,9 +200,13 @@ L.TileLayer = L.GridLayer.extend({
 				this._onMouseEvent, this);
 		this._startMarker.on('drag dragend', this._onSelectionHandleDrag, this);
 		this._endMarker.on('drag dragend', this._onSelectionHandleDrag, this);
-		if (this.options.editMode) {
+		if (this.options.editMode && !this.options.readOnly) {
 			this._map.fire('updatemode:edit');
 		}
+		if (this.options.readOnly) {
+			this._map.fire('updatemode:readonly');
+			this._readOnlyMode = true;
+		}
 	},
 
 	getEvents: function () {
@@ -726,6 +730,10 @@ L.TileLayer = L.GridLayer.extend({
 			return;
 		}
 
+		if (this._readOnlyMode) {
+			return;
+		}
+
 		if (e.type === 'mousedown') {
 			this._mouseDown = true;
 			if (this._holdMouseEvent) {


More information about the Libreoffice-commits mailing list