[Libreoffice-commits] online.git: Branch 'distro/collabora/collabora-online-3' - 2 commits - loleaflet/src
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Wed Oct 3 23:06:34 UTC 2018
loleaflet/src/control/Control.MobileInput.js | 43 ++++++++++++---------------
1 file changed, 20 insertions(+), 23 deletions(-)
New commits:
commit 6baa59678c34ec1e618ba0a2ac2b74983fbbd858
Author: Jan Holesovsky <kendy at collabora.com>
AuthorDate: Thu Oct 4 00:53:06 2018 +0200
Commit: Aron Budea <aron.budea at collabora.com>
CommitDate: Thu Oct 4 01:06:25 2018 +0200
Cleanup the debugging logging.
Change-Id: I52ba4be4017a1b4d7a2464c078ec2144511f11f7
Reviewed-on: https://gerrit.libreoffice.org/61338
Reviewed-by: Aron Budea <aron.budea at collabora.com>
Tested-by: Aron Budea <aron.budea at collabora.com>
diff --git a/loleaflet/src/control/Control.MobileInput.js b/loleaflet/src/control/Control.MobileInput.js
index 9439f0221..0530cab21 100644
--- a/loleaflet/src/control/Control.MobileInput.js
+++ b/loleaflet/src/control/Control.MobileInput.js
@@ -89,9 +89,6 @@ L.Control.MobileInput = L.Control.extend({
docLayer = this._map._docLayer,
unoKeyCode = handler._toUNOKeyCode(keyCode);
- console.log('onKeyEvent: e.type === ' + e.type);
- console.log('onKeyEvent: e.keyCode === "' + e.keyCode + '"');
- console.log('onKeyEvent: e.charCode === "' + e.charCode + '"');
this._keyHandled = this._keyHandled || false;
if (this._isComposing) {
if (keyCode === 229 && charCode === 0) {
@@ -138,8 +135,7 @@ L.Control.MobileInput = L.Control.extend({
onCompEvents: function (e) {
var map = this._map;
- console.log('onCompEvents: e.type === ' + e.type);
- console.log('onCompEvents: e.data === "' + e.data + '"');
+
if (e.type === 'compositionstart' || e.type === 'compositionupdate') {
this._isComposing = true; // we are starting composing with IME
this._composingData = e.data; // cache what we have composed so far
@@ -154,9 +150,6 @@ L.Control.MobileInput = L.Control.extend({
},
onTextInput: function (e) {
- console.log('onTextInput: e.type === ' + e.type);
- console.log('onTextInput: e.data === "' + e.data + '"');
-
if (!this._keyHandled) {
this._textData = e.data;
this._textArea.value = '';
@@ -166,9 +159,8 @@ L.Control.MobileInput = L.Control.extend({
},
onInput: function (e) {
- console.log('onInput: e.inputType === ' + e.inputType);
-
var backSpace = this._map.keyboard._toUNOKeyCode(8);
+
// deferred processing of composition text or normal text; we can get
// both in some cases, and based on the input event we need to decide
// which one we actually need to use
commit 10bfc4b449577590c4de82cb15d73204be053a3c
Author: Jan Holesovsky <kendy at collabora.com>
AuthorDate: Thu Oct 4 00:41:34 2018 +0200
Commit: Aron Budea <aron.budea at collabora.com>
CommitDate: Thu Oct 4 01:06:16 2018 +0200
android chrome: Make the insertion of . , ! $ and similar chars work.
The trick is that actually the 'onInput' (the 'input') event decides
what data we should actually use - if those from compose event, or from
the text input event.
With this, things finally seem to work reasonably well - I am able to
insert even emoji :-)
Change-Id: I9f19d1e56e4e638cf88b8497abb8eefd24e82cee
Reviewed-on: https://gerrit.libreoffice.org/61337
Reviewed-by: Aron Budea <aron.budea at collabora.com>
Tested-by: Aron Budea <aron.budea at collabora.com>
diff --git a/loleaflet/src/control/Control.MobileInput.js b/loleaflet/src/control/Control.MobileInput.js
index 45920f63a..9439f0221 100644
--- a/loleaflet/src/control/Control.MobileInput.js
+++ b/loleaflet/src/control/Control.MobileInput.js
@@ -143,9 +143,6 @@ L.Control.MobileInput = L.Control.extend({
if (e.type === 'compositionstart' || e.type === 'compositionupdate') {
this._isComposing = true; // we are starting composing with IME
this._composingData = e.data; // cache what we have composed so far
- if (e.data) {
- map._docLayer._postCompositionEvent(0, 'input', e.data);
- }
}
if (e.type === 'compositionend') {
@@ -161,17 +158,7 @@ L.Control.MobileInput = L.Control.extend({
console.log('onTextInput: e.data === "' + e.data + '"');
if (!this._keyHandled) {
- // Hack for making space in combination with autocompletion text
- // input work in Chrome on Andorid.
- //
- // Chrome (Android) IME triggers keyup/keydown input with
- // code 229 when hitting space (as with all composiiton events)
- // with addition to 'textinput' event, in which we only see that
- // space was entered.
- var data = e.data;
- if (data.length == 1 && data[0] === ' ') {
- map._docLayer._postKeyboardEvent('input', data[0].charCodeAt(), 0);
- }
+ this._textData = e.data;
this._textArea.value = '';
}
@@ -179,8 +166,25 @@ L.Control.MobileInput = L.Control.extend({
},
onInput: function (e) {
+ console.log('onInput: e.inputType === ' + e.inputType);
+
var backSpace = this._map.keyboard._toUNOKeyCode(8);
- if (e.inputType && e.inputType === 'deleteContentBackward' && this._lastInput !== backSpace) {
+ // deferred processing of composition text or normal text; we can get
+ // both in some cases, and based on the input event we need to decide
+ // which one we actually need to use
+ if (e.inputType === 'insertText') {
+ if (this._textData) {
+ for (var i = 0; i < this._textData.length; ++i) {
+ map._docLayer._postKeyboardEvent('input', this._textData[i].charCodeAt(), 0);
+ }
+ }
+ }
+ else if (e.inputType === 'insertCompositionText') {
+ if (this._composingData) {
+ map._docLayer._postCompositionEvent(0, 'input', this._composingData);
+ }
+ }
+ else if (e.inputType === 'deleteContentBackward' && this._lastInput !== backSpace) {
// this means we need to delete the entire interim composition;
// let's issue backspace that many times
if (this._composingData) {
@@ -189,6 +193,7 @@ L.Control.MobileInput = L.Control.extend({
}
}
}
+
L.DomEvent.stopPropagation(e);
}
});
More information about the Libreoffice-commits
mailing list