loleaflet/src/layer/tile/TileLayer.js |   38 +++++++++++++++++++---------------
 1 file changed, 22 insertions(+), 16 deletions(-)

New commits:
commit fea50859b9f4a8ce2e769b1199fb314c9afe1eeb
Author: Mihai Varga <mihai.va...@collabora.com>
Date:   Tue Jul 7 19:20:22 2015 +0300

    loleaflet: send click event before doubleclick
    
    Also, the click event is now fired instantly, previously we would've
    waited 250ms to see if a dblclick occurs and we would cancel the first
    2 clicks

diff --git a/loleaflet/src/layer/tile/TileLayer.js 
b/loleaflet/src/layer/tile/TileLayer.js
index 37bbe44..7f4b843 100644
--- a/loleaflet/src/layer/tile/TileLayer.js
+++ b/loleaflet/src/layer/tile/TileLayer.js
@@ -747,29 +747,35 @@ L.TileLayer = L.GridLayer.extend({
                                clearTimeout(this._holdMouseEvent);
                                this._holdMouseEvent = null;
                        }
-                       if (this._mouseEventsQueue.length === 3) {
-                               // i.e. we have mousedown, mouseup, mousedown 
and here comes another
-                               // mouseup. Those are 2 consecutive clicks == 
doubleclick, we cancel
-                               // everything and wait for the dblclick event 
to arrive where it's handled
+                       if (this._clickTime && Date.now() - this._clickTime <= 
250) {
+                               // double click, a click was sent already
+                               this._mouseEventsQueue = [];
+                               return;
+                       }
+                       else {
+                               // if it's a click or mouseup after selecting
+                               if (this._mouseEventsQueue.length > 0 || 
this._editMode) {
+                                       this._clickTime = Date.now();
+                                       if (this._mouseEventsQueue.length > 0) {
+                                               // fire mousedown
+                                               this._mouseEventsQueue[0]();
+                                       }
+                                       this._mouseEventsQueue = [];
+                               }
                                if (!this._editMode) {
                                        this._editMode = true;
                                        this._map.fire('updatemode:edit');
                                }
-                               this._mouseEventsQueue = [];
-                               return;
-                       }
-                       mousePos = this._latLngToTwips(e.latlng);
-                       this._mouseEventsQueue.push(L.bind(function() {
+                               mousePos = this._latLngToTwips(e.latlng);
                                this._postMouseEvent('buttonup', mousePos.x, 
mousePos.y, 1);
                                this._textArea.focus();
-                       }, this));
-                       this._holdMouseEvent = 
setTimeout(L.bind(this._executeMouseEvents, this), 250);
 
-                       if (this._startMarker._icon) {
-                               L.DomUtil.removeClass(this._startMarker._icon, 
'leaflet-not-clickable');
-                       }
-                       if (this._endMarker._icon) {
-                               L.DomUtil.removeClass(this._endMarker._icon, 
'leaflet-not-clickable');
+                               if (this._startMarker._icon) {
+                                       
L.DomUtil.removeClass(this._startMarker._icon, 'leaflet-not-clickable');
+                               }
+                               if (this._endMarker._icon) {
+                                       
L.DomUtil.removeClass(this._endMarker._icon, 'leaflet-not-clickable');
+                               }
                        }
                }
                else if (e.type === 'mousemove' && this._mouseDown) {
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to