[Libreoffice-commits] online.git: Branch 'distro/collabora/collabora-online-4' - 5 commits - loleaflet/css loleaflet/src

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Mon Jan 7 11:33:42 UTC 2019


 loleaflet/css/menubar.css                  |    2 
 loleaflet/src/control/Control.LokDialog.js |   69 ++++++++++++++++++-----------
 2 files changed, 45 insertions(+), 26 deletions(-)

New commits:
commit f995764ee938f3abb16154b93d4508bf81d58a5d
Author:     Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Tue Dec 18 16:12:44 2018 +0100
Commit:     Szymon Kłos <szymon.klos at collabora.com>
CommitDate: Mon Jan 7 12:27:41 2019 +0100

    Make separators visible again
    
    Change-Id: I627e50eccb31542570964e9ab7be54e6d52417f6

diff --git a/loleaflet/css/menubar.css b/loleaflet/css/menubar.css
index cf3c9df9b..4d750b8f5 100644
--- a/loleaflet/css/menubar.css
+++ b/loleaflet/css/menubar.css
@@ -137,7 +137,7 @@
     overflow: hidden;
     padding-top: 0;
     padding-bottom: 0;
-    background-color: #ffffff;
+    background-color: #efefef;
 }
 /* lo-menu customizations end */
 
commit 5b9cbf25409f2eea4d8083c69e8aaadef6e8774c
Author:     Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Fri Jan 4 20:23:35 2019 +0100
Commit:     Szymon Kłos <szymon.klos at collabora.com>
CommitDate: Mon Jan 7 12:27:27 2019 +0100

    Auto-scale dialogs on mobile devices
    
    Change-Id: Ifdfde2c74ccafff7d84d0c5f26e12ee41d58b4dd

diff --git a/loleaflet/src/control/Control.LokDialog.js b/loleaflet/src/control/Control.LokDialog.js
index 38e85a194..ce91e1649 100644
--- a/loleaflet/src/control/Control.LokDialog.js
+++ b/loleaflet/src/control/Control.LokDialog.js
@@ -405,13 +405,14 @@ L.Control.LokDialog = L.Control.extend({
 
 		this._createDialogCursor(strId);
 		var dlgInput = this._createDialogInput(strId);
-		this._setupWindowEvents(id, dialogCanvas, dlgInput, true);
+		this._setupWindowEvents(id, dialogCanvas, dlgInput);
+		this._setupGestures(id, dialogCanvas);
 
 		this._currentId = id;
 		this._sendPaintWindow(id, this._createRectStr(id));
 	},
 
-	_setupWindowEvents: function(id, canvas, dlgInput, zooming) {
+	_setupWindowEvents: function(id, canvas, dlgInput) {
 		L.DomEvent.on(canvas, 'contextmenu', L.DomEvent.preventDefault);
 		L.DomEvent.on(canvas, 'mousemove', function(e) {
 			this._map.lastActiveTime = Date.now();
@@ -447,50 +448,64 @@ L.Control.LokDialog = L.Control.extend({
 		L.DomEvent.on(dlgInput, 'contextmenu', function() {
 			return false;
 		});
+	},
 
-		// Zooming dialogs
-		if (zooming == true) {
-			var targetId = toZoomTargetId(canvas.id);
-			var zoomTarget = $('#' + targetId).parent().get(0);
-			var state = {
-				startX: 0,
-				startY: 0,
-				initScale: 1
-			}
-			var transformation = {
-				translate: { x: 0, y: 0 },
-				scale: 1,
-				angle: 0,
-				rx: 0,
-				ry: 0,
-				rz: 0
-			};
+	_setupGestures: function(id, canvas) {
+		var targetId = toZoomTargetId(canvas.id);
+		var zoomTarget = $('#' + targetId).parent().get(0);
 
-			if (findZoomTarget(targetId) != null) {
-				removeZoomTarget(targetId);
-			}
+		var ratio = 1.0;
+		var width = this._dialogs[id].width;
+		var height = this._dialogs[id].height;
+		var offsetX = 0;
+		var offsetY = 0;
+
+		if ((window.mode.isMobile() || window.mode.isTablet()) && width > window.screen.width) {
+			ratio = window.screen.width / (width + 40);
+			offsetX = -(width - window.screen.width) / 2;
+			offsetY = -(height - window.screen.height) / 2;
+		}
+
+		var state = {
+			startX: offsetX,
+			startY: offsetY,
+			initScale: ratio
+		}
+		var transformation = {
+			translate: { x: offsetX, y: offsetY },
+			scale: ratio,
+			angle: 0,
+			rx: 0,
+			ry: 0,
+			rz: 0
+		};
+
+		if (findZoomTarget(targetId) != null) {
+			removeZoomTarget(targetId);
+		}
 
-			zoomTargets.push({key: targetId, value: zoomTarget, transformation: transformation, initialState: state});
-
-			if (window.mode.isMobile() || window.mode.isTablet()) {
-				var hammerAll = new Hammer(canvas);
-				hammerAll.add(new Hammer.Pan({ threshold: 0, pointers: 0 }));
-				hammerAll.add(new Hammer.Pinch({ threshold: 0 })).recognizeWith([hammerAll.get('pan')]);
-
-				hammerAll.on('panstart panmove', this.onPan);
-				hammerAll.on('pinchstart pinchmove', this.onPinch);
-				hammerAll.on('hammer.input', function(ev) {
-					if (ev.isFinal) {
-						var id = toZoomTargetId(ev.target.id);
-						var target = findZoomTarget(id);
-						if (target) {
-							target.initialState.startX = target.transformation.translate.x;
-							target.initialState.startY = target.transformation.translate.y;
-						}
+		zoomTargets.push({key: targetId, value: zoomTarget, transformation: transformation, initialState: state});
+
+		if (window.mode.isMobile() || window.mode.isTablet()) {
+			var hammerAll = new Hammer(canvas);
+			hammerAll.add(new Hammer.Pan({ threshold: 0, pointers: 0 }));
+			hammerAll.add(new Hammer.Pinch({ threshold: 0 })).recognizeWith([hammerAll.get('pan')]);
+
+			hammerAll.on('panstart panmove', this.onPan);
+			hammerAll.on('pinchstart pinchmove', this.onPinch);
+			hammerAll.on('hammer.input', function(ev) {
+				if (ev.isFinal) {
+					var id = toZoomTargetId(ev.target.id);
+					var target = findZoomTarget(id);
+					if (target) {
+						target.initialState.startX = target.transformation.translate.x;
+						target.initialState.startY = target.transformation.translate.y;
 					}
-				});
-			}
+				}
+			});
 		}
+
+		updateTransformation(findZoomTarget(targetId));
 	},
 
 	_postWindowCompositionEvent: function(winid, type, text) {
commit f3b630f5c886e0b11b0af8696b94a51f69c965a2
Author:     Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Fri Jan 4 17:15:34 2019 +0100
Commit:     Szymon Kłos <szymon.klos at collabora.com>
CommitDate: Mon Jan 7 12:27:08 2019 +0100

    Fixed zooming for the Insert Hyperlink dialog
    
    Change-Id: I91f4be16b9dadc6bd32ea9f630331f668e44da24

diff --git a/loleaflet/src/control/Control.LokDialog.js b/loleaflet/src/control/Control.LokDialog.js
index 9258348c7..38e85a194 100644
--- a/loleaflet/src/control/Control.LokDialog.js
+++ b/loleaflet/src/control/Control.LokDialog.js
@@ -466,14 +466,14 @@ L.Control.LokDialog = L.Control.extend({
 				rz: 0
 			};
 
-			zoomTargets.push({key: targetId, value: zoomTarget, transformation: transformation, initialState: state});
+			if (findZoomTarget(targetId) != null) {
+				removeZoomTarget(targetId);
+			}
 
-			var hammerContent = new Hammer(canvas);
-			hammerContent.add(new Hammer.Pan({ threshold: 0, pointers: 0 }));
-			hammerContent.on('panstart panmove', this.onPan);
+			zoomTargets.push({key: targetId, value: zoomTarget, transformation: transformation, initialState: state});
 
 			if (window.mode.isMobile() || window.mode.isTablet()) {
-				var hammerAll = new Hammer(zoomTarget);
+				var hammerAll = new Hammer(canvas);
 				hammerAll.add(new Hammer.Pan({ threshold: 0, pointers: 0 }));
 				hammerAll.add(new Hammer.Pinch({ threshold: 0 })).recognizeWith([hammerAll.get('pan')]);
 
commit a91599a297f77ff9eeeb7410661fc50a804cbadd
Author:     Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Fri Dec 21 13:41:29 2018 +0100
Commit:     Szymon Kłos <szymon.klos at collabora.com>
CommitDate: Mon Jan 7 12:26:56 2019 +0100

    Fix jumping dialogs
    
    Change-Id: I645b14c8eccdf8a08918455fd7d2a7857b41f792

diff --git a/loleaflet/src/control/Control.LokDialog.js b/loleaflet/src/control/Control.LokDialog.js
index 7e5cee2af..9258348c7 100644
--- a/loleaflet/src/control/Control.LokDialog.js
+++ b/loleaflet/src/control/Control.LokDialog.js
@@ -469,25 +469,27 @@ L.Control.LokDialog = L.Control.extend({
 			zoomTargets.push({key: targetId, value: zoomTarget, transformation: transformation, initialState: state});
 
 			var hammerContent = new Hammer(canvas);
-			var hammerAll = new Hammer(zoomTarget);
-
 			hammerContent.add(new Hammer.Pan({ threshold: 0, pointers: 0 }));
-			hammerAll.add(new Hammer.Pan({ threshold: 0, pointers: 0 }));
-			hammerAll.add(new Hammer.Pinch({ threshold: 0 })).recognizeWith([hammerAll.get('pan')]);
-
 			hammerContent.on('panstart panmove', this.onPan);
-			hammerAll.on('panstart panmove', this.onPan);
-			hammerAll.on('pinchstart pinchmove', this.onPinch);
-			hammerAll.on('hammer.input', function(ev) {
-				if (ev.isFinal) {
-					var id = toZoomTargetId(ev.target.id);
-					var target = findZoomTarget(id);
-					if (target) {
-						target.initialState.startX = target.transformation.translate.x;
-						target.initialState.startY = target.transformation.translate.y;
+
+			if (window.mode.isMobile() || window.mode.isTablet()) {
+				var hammerAll = new Hammer(zoomTarget);
+				hammerAll.add(new Hammer.Pan({ threshold: 0, pointers: 0 }));
+				hammerAll.add(new Hammer.Pinch({ threshold: 0 })).recognizeWith([hammerAll.get('pan')]);
+
+				hammerAll.on('panstart panmove', this.onPan);
+				hammerAll.on('pinchstart pinchmove', this.onPinch);
+				hammerAll.on('hammer.input', function(ev) {
+					if (ev.isFinal) {
+						var id = toZoomTargetId(ev.target.id);
+						var target = findZoomTarget(id);
+						if (target) {
+							target.initialState.startX = target.transformation.translate.x;
+							target.initialState.startY = target.transformation.translate.y;
+						}
 					}
-				}
-			});
+				});
+			}
 		}
 	},
 
commit e69b8a4a405b622e36f9cc49689ce949ea149d76
Author:     Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Wed Dec 5 08:25:04 2018 +0100
Commit:     Szymon Kłos <szymon.klos at collabora.com>
CommitDate: Mon Jan 7 12:26:03 2019 +0100

    Don't use gestures if not needed
    
    Change-Id: I06deff655a74547de3435df3e7c688c96f7ff683

diff --git a/loleaflet/src/control/Control.LokDialog.js b/loleaflet/src/control/Control.LokDialog.js
index bbf9b9dd1..7e5cee2af 100644
--- a/loleaflet/src/control/Control.LokDialog.js
+++ b/loleaflet/src/control/Control.LokDialog.js
@@ -405,13 +405,13 @@ L.Control.LokDialog = L.Control.extend({
 
 		this._createDialogCursor(strId);
 		var dlgInput = this._createDialogInput(strId);
-		this._setupWindowEvents(id, dialogCanvas, dlgInput);
+		this._setupWindowEvents(id, dialogCanvas, dlgInput, true);
 
 		this._currentId = id;
 		this._sendPaintWindow(id, this._createRectStr(id));
 	},
 
-	_setupWindowEvents: function(id, canvas, dlgInput) {
+	_setupWindowEvents: function(id, canvas, dlgInput, zooming) {
 		L.DomEvent.on(canvas, 'contextmenu', L.DomEvent.preventDefault);
 		L.DomEvent.on(canvas, 'mousemove', function(e) {
 			this._map.lastActiveTime = Date.now();
@@ -449,44 +449,46 @@ L.Control.LokDialog = L.Control.extend({
 		});
 
 		// Zooming dialogs
-		var targetId = toZoomTargetId(canvas.id);
-		var zoomTarget = $('#' + targetId).parent().get(0);
-		var state = {
-			startX: 0,
-			startY: 0,
-			initScale: 1
-		}
-		var transformation = {
-			translate: { x: 0, y: 0 },
-			scale: 1,
-			angle: 0,
-			rx: 0,
-			ry: 0,
-			rz: 0
-		};
+		if (zooming == true) {
+			var targetId = toZoomTargetId(canvas.id);
+			var zoomTarget = $('#' + targetId).parent().get(0);
+			var state = {
+				startX: 0,
+				startY: 0,
+				initScale: 1
+			}
+			var transformation = {
+				translate: { x: 0, y: 0 },
+				scale: 1,
+				angle: 0,
+				rx: 0,
+				ry: 0,
+				rz: 0
+			};
 
-		zoomTargets.push({key: targetId, value: zoomTarget, transformation: transformation, initialState: state});
-
-		var hammerContent = new Hammer(canvas);
-		var hammerAll = new Hammer(zoomTarget);
-
-		hammerContent.add(new Hammer.Pan({ threshold: 0, pointers: 0 }));
-		hammerAll.add(new Hammer.Pan({ threshold: 0, pointers: 0 }));
-		hammerAll.add(new Hammer.Pinch({ threshold: 0 })).recognizeWith([hammerAll.get('pan')]);
-
-		hammerContent.on('panstart panmove', this.onPan);
-		hammerAll.on('panstart panmove', this.onPan);
-		hammerAll.on('pinchstart pinchmove', this.onPinch);
-		hammerAll.on('hammer.input', function(ev) {
-			if (ev.isFinal) {
-				var id = toZoomTargetId(ev.target.id);
-				var target = findZoomTarget(id);
-				if (target) {
-					target.initialState.startX = target.transformation.translate.x;
-					target.initialState.startY = target.transformation.translate.y;
+			zoomTargets.push({key: targetId, value: zoomTarget, transformation: transformation, initialState: state});
+
+			var hammerContent = new Hammer(canvas);
+			var hammerAll = new Hammer(zoomTarget);
+
+			hammerContent.add(new Hammer.Pan({ threshold: 0, pointers: 0 }));
+			hammerAll.add(new Hammer.Pan({ threshold: 0, pointers: 0 }));
+			hammerAll.add(new Hammer.Pinch({ threshold: 0 })).recognizeWith([hammerAll.get('pan')]);
+
+			hammerContent.on('panstart panmove', this.onPan);
+			hammerAll.on('panstart panmove', this.onPan);
+			hammerAll.on('pinchstart pinchmove', this.onPinch);
+			hammerAll.on('hammer.input', function(ev) {
+				if (ev.isFinal) {
+					var id = toZoomTargetId(ev.target.id);
+					var target = findZoomTarget(id);
+					if (target) {
+						target.initialState.startX = target.transformation.translate.x;
+						target.initialState.startY = target.transformation.translate.y;
+					}
 				}
-			}
-		});
+			});
+		}
 	},
 
 	_postWindowCompositionEvent: function(winid, type, text) {


More information about the Libreoffice-commits mailing list