loleaflet/src/layer/tile/TileLayer.js | 10 ++++++++++ loleaflet/src/map/Map.js | 4 ++-- loleaflet/src/map/handler/Map.Keyboard.js | 10 ++++++---- 3 files changed, 18 insertions(+), 6 deletions(-)
New commits: commit e11e112411ee600e6bdd3da009b0d8e870d0a418 Author: Jan Holesovsky <[email protected]> Date: Thu Jan 21 10:53:37 2016 +0100 loleaflet: Implement the 'cut' functionality. diff --git a/loleaflet/src/layer/tile/TileLayer.js b/loleaflet/src/layer/tile/TileLayer.js index 16106ff..dcef8c7 100644 --- a/loleaflet/src/layer/tile/TileLayer.js +++ b/loleaflet/src/layer/tile/TileLayer.js @@ -124,6 +124,7 @@ L.TileLayer = L.GridLayer.extend({ map.on('drag resize zoomend', this._updateScrollOffset, this); map.on('copy', this._onCopy, this); + map.on('cut', this._onCut, this); map.on('paste', this._onPaste, this); map.on('dragover', this._onDragOver, this); map.on('drop', this._onDrop, this); @@ -995,6 +996,15 @@ L.TileLayer = L.GridLayer.extend({ } }, + _onCut: function (e) { + e = e.originalEvent; + e.preventDefault(); + if (this._selectionTextContent) { + e.clipboardData.setData('text/plain', this._selectionTextContent); + this._map._socket.sendMessage('uno .uno:Cut'); + } + }, + _onPaste: function (e) { e = e.originalEvent; e.preventDefault(); diff --git a/loleaflet/src/map/Map.js b/loleaflet/src/map/Map.js index e5749f6..a2f9e06 100644 --- a/loleaflet/src/map/Map.js +++ b/loleaflet/src/map/Map.js @@ -600,7 +600,7 @@ L.Map = L.Evented.extend({ L.DomEvent[onOff](this._container, 'click dblclick mousedown mouseup ' + 'mouseover mouseout mousemove contextmenu dragover drop ' + 'keydown keypress keyup trplclick qdrplclick', this._handleDOMEvent, this); - L.DomEvent[onOff](this._textArea, 'copy paste keydown keypress keyup', this._handleDOMEvent, this); + L.DomEvent[onOff](this._textArea, 'copy cut paste keydown keypress keyup', this._handleDOMEvent, this); if (this.options.trackResize && this._resizeDetector.contentWindow) { L.DomEvent[onOff](this._resizeDetector.contentWindow, 'resize', this._onResize, this); @@ -653,7 +653,7 @@ L.Map = L.Evented.extend({ var data = { originalEvent: e }; - if (e.type !== 'keypress' && e.type !== 'keyup' && e.type !== 'keydown' && e.type !== 'copy' && e.type !== 'paste') { + if (e.type !== 'keypress' && e.type !== 'keyup' && e.type !== 'keydown' && e.type !== 'copy' && e.type !== 'cut' && e.type !== 'paste') { data.containerPoint = target instanceof L.Marker ? this.latLngToContainerPoint(target.getLatLng()) : this.mouseEventToContainerPoint(e); data.layerPoint = this.containerPointToLayerPoint(data.containerPoint); diff --git a/loleaflet/src/map/handler/Map.Keyboard.js b/loleaflet/src/map/handler/Map.Keyboard.js index cac51b9..956b118 100644 --- a/loleaflet/src/map/handler/Map.Keyboard.js +++ b/loleaflet/src/map/handler/Map.Keyboard.js @@ -321,12 +321,13 @@ L.Map.Keyboard = L.Handler.extend({ }, _handleCtrlCommand: function (e) { - if (e.type !== 'keydown' && e.originalEvent.key !== 'c' && e.originalEvent.key !== 'v') { + if (e.type !== 'keydown' && e.originalEvent.key !== 'c' && e.originalEvent.key !== 'v' && e.originalEvent.key !== 'x') { e.originalEvent.preventDefault(); return true; } - if (e.originalEvent.keyCode !== 67 && e.originalEvent.keyCode !== 86 && e.originalEvent.key !== 'c' && e.originalEvent.key !== 'v') { + if (e.originalEvent.keyCode !== 67 && e.originalEvent.keyCode !== 86 && e.originalEvent.keyCode !== 88 && + e.originalEvent.key !== 'c' && e.originalEvent.key !== 'v' && e.originalEvent.key !== 'x') { // not copy or paste e.originalEvent.preventDefault(); } @@ -376,7 +377,8 @@ L.Map.Keyboard = L.Handler.extend({ } return false; case 67: // c - // we prepare for a copy event + case 88: // x + // we prepare for a copy or cut event this._map._docLayer._textArea.value = 'dummy text'; this._map._docLayer._textArea.focus(); this._map._docLayer._textArea.select(); @@ -396,7 +398,7 @@ L.Map.Keyboard = L.Handler.extend({ this._map._socket.sendMessage('uno .uno:SuperScript'); return true; } - if (e.type === 'keypress' && e.originalEvent.ctrlKey && (e.originalEvent.key === 'c' || e.originalEvent.key === 'v')) { + if (e.type === 'keypress' && e.originalEvent.ctrlKey && (e.originalEvent.key === 'c' || e.originalEvent.key === 'v' || e.originalEvent.key === 'x')) { // need to handle this separately for Firefox return true; } _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
