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.k...@collabora.com>
AuthorDate: Tue Dec 18 16:12:44 2018 +0100
Commit:     Szymon Kłos <szymon.k...@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.k...@collabora.com>
AuthorDate: Fri Jan 4 20:23:35 2019 +0100
Commit:     Szymon Kłos <szymon.k...@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.k...@collabora.com>
AuthorDate: Fri Jan 4 17:15:34 2019 +0100
Commit:     Szymon Kłos <szymon.k...@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.k...@collabora.com>
AuthorDate: Fri Dec 21 13:41:29 2018 +0100
Commit:     Szymon Kłos <szymon.k...@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.k...@collabora.com>
AuthorDate: Wed Dec 5 08:25:04 2018 +0100
Commit:     Szymon Kłos <szymon.k...@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) {
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to