diff --git a/browser/js/global.js b/browser/js/global.js index 2c9d278018..b5a619e1fc 100644 --- a/browser/js/global.js +++ b/browser/js/global.js @@ -264,6 +264,18 @@ window.app = { // alternatively, maybe someone else (e.g. an integrator) knows more about the situation than we do. In this case, let's // let them override our default hintOnscreenKeyboard: function(hint) { + if (global.app + && global.L.Map + && global.L.Map.THIS._docLayer.isCalc() + && hint !== undefined) { + var command = { + Enable: { + type: 'boolean', + value: hint + } + }; + global.L.Map.THIS.sendUnoCommand('.uno:MoveKeepInsertMode', command); + } global.keyboard.onscreenKeyboardHint = hint; }, }; diff --git a/browser/src/control/Toolbar.js b/browser/src/control/Toolbar.js index 6fbe835363..021ddb92f8 100644 --- a/browser/src/control/Toolbar.js +++ b/browser/src/control/Toolbar.js @@ -367,7 +367,7 @@ L.Map.include({ var allowedCommands = ['.uno:Save', '.uno:WordCountDialog', '.uno:Signature', '.uno:ShowResolvedAnnotations', '.uno:ToolbarMode?Mode:string=notebookbar_online.ui', '.uno:ToolbarMode?Mode:string=Default', - '.uno:ExportToEPUB', '.uno:ExportToPDF', '.uno:ExportDirectToPDF']; + '.uno:ExportToEPUB', '.uno:ExportToPDF', '.uno:ExportDirectToPDF', '.uno:MoveKeepInsertMode']; if (this.isPermissionEditForComments()) { allowedCommands.push('.uno:InsertAnnotation','.uno:DeleteCommentThread', '.uno:DeleteAnnotation', '.uno:DeleteNote', '.uno:DeleteComment', '.uno:ReplyComment', '.uno:ReplyToAnnotation', '.uno:ResolveComment', diff --git a/browser/src/layer/tile/CalcTileLayer.js b/browser/src/layer/tile/CalcTileLayer.js index b3b3f258c1..552a678222 100644 --- a/browser/src/layer/tile/CalcTileLayer.js +++ b/browser/src/layer/tile/CalcTileLayer.js @@ -67,6 +67,7 @@ L.CalcTileLayer = L.CanvasTileLayer.extend({ map.on('splitposchanged', this.setSplitCellFromPos, this); map.on('commandstatechanged', this._onCommandStateChanged, this); map.uiManager.initializeSpecializedUI('spreadsheet'); + window.keyboard.hintOnscreenKeyboard(window.keyboard.onscreenKeyboardHint); }, onAdd: function (map) { @@ -391,6 +392,7 @@ L.CalcTileLayer = L.CanvasTileLayer.extend({ if (app.socket._reconnecting) { app.socket.sendMessage('setclientpart part=' + this._selectedPart); this._resetInternalState(); + window.keyboard.hintOnscreenKeyboard(window.keyboard.onscreenKeyboardHint); } else { this._selectedPart = command.selectedPart; }