[Libreoffice-commits] online.git: loleaflet/src
Marco Cecchetti (via logerrit)
logerrit at kemper.freedesktop.org
Mon Dec 2 16:35:05 UTC 2019
loleaflet/src/layer/marker/TextInput.js | 18 ++++++++++++++----
loleaflet/src/map/Map.js | 2 ++
2 files changed, 16 insertions(+), 4 deletions(-)
New commits:
commit b228a160b942d660a4d8bccf0c14eb7ff9d19920
Author: Marco Cecchetti <marco.cecchetti at collabora.com>
AuthorDate: Fri Nov 29 17:01:59 2019 +0100
Commit: Marco Cecchetti <marco.cecchetti at collabora.com>
CommitDate: Mon Dec 2 17:34:47 2019 +0100
formula bar: handling shift+enter correctly
In desktop shift + enter is used for inserting a new line (multiline
formula input box).
This patch makes that works for tunneled formula bar too.
Change-Id: Ib1b3fd6593b6361c725cff606925d110c8ac1c83
Reviewed-on: https://gerrit.libreoffice.org/84170
Reviewed-by: Marco Cecchetti <marco.cecchetti at collabora.com>
Tested-by: Marco Cecchetti <marco.cecchetti at collabora.com>
diff --git a/loleaflet/src/layer/marker/TextInput.js b/loleaflet/src/layer/marker/TextInput.js
index 9faf1ea29..b23355595 100644
--- a/loleaflet/src/layer/marker/TextInput.js
+++ b/loleaflet/src/layer/marker/TextInput.js
@@ -17,6 +17,10 @@ L.TextInput = L.Layer.extend({
// pressed sometimes - consider ' foo' -> ' foo'
this._deleteHint = ''; // or 'delete' or 'backspace'
+ // We need to detect line break in the tunneled formula
+ // input window for the multiline case.
+ this._linebreakHint = false;
+
// Clearing the area can generate input events
this._ignoreInputCount = 0;
@@ -461,8 +465,12 @@ L.TextInput = L.Layer.extend({
this._lastContent = content;
- if (newText.length > 0)
+ if (this._linebreakHint && this._map.dialog._calcInputBar &&
+ this._map.getWinId() === this._map.dialog._calcInputBar.id) {
+ this._sendKeyEvent(13, 5376);
+ } else if (newText.length > 0) {
this._sendText(String.fromCharCode.apply(null, newText));
+ }
// was a 'delete' and we need to reset world.
if (removeAfter > 0)
@@ -570,12 +578,14 @@ L.TextInput = L.Layer.extend({
},
_onKeyDown: function _onKeyDown(ev) {
- if (ev.keyCode == 8)
+ if (ev.keyCode === 8)
this._deleteHint = 'backspace';
- else if (ev.keyCode == 46)
+ else if (ev.keyCode === 46)
this._deleteHint = 'delete';
- else
+ else {
this._deleteHint = '';
+ this._linebreakHint = ev.keyCode === 13 && ev.shiftKey;
+ }
},
// Check arrow keys on 'keyup' event; using 'ArrowLeft' or 'ArrowRight'
diff --git a/loleaflet/src/map/Map.js b/loleaflet/src/map/Map.js
index b0530df28..b279c1d8a 100644
--- a/loleaflet/src/map/Map.js
+++ b/loleaflet/src/map/Map.js
@@ -812,6 +812,8 @@ L.Map = L.Evented.extend({
// the main document) has the actual focus. 0 means the document.
setWinId: function (id) {
console.log('winId set to: ' + id);
+ if (typeof id === 'string')
+ id = parseInt(id);
this._winId = id;
},
More information about the Libreoffice-commits
mailing list