loleaflet/dist/loleaflet.css | 4 ++++ loleaflet/src/layer/tile/TileLayer.js | 12 ++++++++++-- loleaflet/src/map/handler/Map.Keyboard.js | 6 +++++- 3 files changed, 19 insertions(+), 3 deletions(-)
New commits: commit 91e4dce9b6f4e2f1a258e1a4e14365d1edb9c468 Author: Henry Castro <hcas...@collabora.com> Date: Sat Feb 10 14:20:52 2018 -0400 loleaflet: copy text of the annotation element to clipboard Change-Id: I8675b3752656afc1ba79d614d2f1fe3e7d98f600 Reviewed-on: https://gerrit.libreoffice.org/49546 Reviewed-by: pranavk <pran...@collabora.co.uk> Tested-by: pranavk <pran...@collabora.co.uk> diff --git a/loleaflet/dist/loleaflet.css b/loleaflet/dist/loleaflet.css index 57185f0e..98bffaa7 100644 --- a/loleaflet/dist/loleaflet.css +++ b/loleaflet/dist/loleaflet.css @@ -142,6 +142,10 @@ body { .loleaflet-annotation { position: absolute; text-align: center; + user-select: text; + -moz-user-select: text; + -webkit-user-select: text; + -ms-user-select: text; } .loleaflet-annotation-content-wrapper, .loleaflet-annotation-redline-content-wrapper { diff --git a/loleaflet/src/layer/tile/TileLayer.js b/loleaflet/src/layer/tile/TileLayer.js index 8e36d7ab..5f777182 100644 --- a/loleaflet/src/layer/tile/TileLayer.js +++ b/loleaflet/src/layer/tile/TileLayer.js @@ -1815,7 +1815,11 @@ L.TileLayer = L.GridLayer.extend({ _onCopy: function (e) { e = e.originalEvent; e.preventDefault(); - if (this._selectionTextContent) { + if (this._map._docLayer._textArea.value !== '') { + L.Compatibility.clipboardSet(e, this._map._docLayer._textArea.value); + this._map._docLayer._textArea.value = ''; + } + if (this._textSelectionStart && this._textSelectionEnd && this._selectionTextContent) { L.Compatibility.clipboardSet(e, this._selectionTextContent); // remember the copied text, for rich copy/paste inside a document @@ -1828,7 +1832,11 @@ L.TileLayer = L.GridLayer.extend({ _onCut: function (e) { e = e.originalEvent; e.preventDefault(); - if (this._selectionTextContent) { + if (this._map._docLayer._textArea.value !== '') { + L.Compatibility.clipboardSet(e, this._map._docLayer._textArea.value); + this._map._docLayer._textArea.value = ''; + } + if (this._textSelectionStart && this._textSelectionEnd && this._selectionTextContent) { L.Compatibility.clipboardSet(e, this._selectionTextContent); // remember the copied text, for rich copy/paste inside a document diff --git a/loleaflet/src/map/handler/Map.Keyboard.js b/loleaflet/src/map/handler/Map.Keyboard.js index c7161535..11c9d57b 100644 --- a/loleaflet/src/map/handler/Map.Keyboard.js +++ b/loleaflet/src/map/handler/Map.Keyboard.js @@ -428,6 +428,10 @@ L.Map.Keyboard = L.Handler.extend({ }, _handleCtrlCommand: function (e) { + // Control + if (e.originalEvent.keyCode == 17) + return true; + if (e.type !== 'keydown' && e.originalEvent.key !== 'c' && e.originalEvent.key !== 'v' && e.originalEvent.key !== 'x' && /* Safari */ e.originalEvent.keyCode !== 99 && e.originalEvent.keyCode !== 118 && e.originalEvent.keyCode !== 120) { e.originalEvent.preventDefault(); @@ -515,7 +519,7 @@ L.Map.Keyboard = L.Handler.extend({ case 91: // Left Cmd (Safari) case 93: // Right Cmd (Safari) // we prepare for a copy or cut event - this._map._docLayer._textArea.value = 'dummy text'; + this._map._docLayer._textArea.value = window.getSelection().toString(); this._map._docLayer._textArea.focus(); this._map._docLayer._textArea.select(); return true; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits