From 0a72e00a1a7ef2907f12b2d0ef6645bfd96d44bf Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Wed, 7 Mar 2018 15:46:12 +0700 Subject: [PATCH] Fixes errors with Mike's-DevU.kmx keyboard in Keyman Configuration, and bonus improves script error dialog a smidge --- windows/src/desktop/kmshell/xml/config.js | 6 ++-- windows/src/desktop/kmshell/xml/elements.xsl | 23 +++++++++++++ .../kmshell/xml/keyman_keyboardlist.xsl | 32 +++++++++++++------ .../global/delphi/general/UfrmScriptError.dfm | 2 +- .../src/global/delphi/ui/UfrmWebContainer.dfm | 1 + .../src/global/delphi/ui/UfrmWebContainer.pas | 13 ++++++-- 6 files changed, 61 insertions(+), 16 deletions(-) diff --git a/windows/src/desktop/kmshell/xml/config.js b/windows/src/desktop/kmshell/xml/config.js index 9496c18f68..e0f277d74a 100644 --- a/windows/src/desktop/kmshell/xml/config.js +++ b/windows/src/desktop/kmshell/xml/config.js @@ -189,9 +189,9 @@ document.addEventListener("DOMContentLoaded", windowResize); } function list_detail(event,n) { - var k = $('#list_'+n); - k.toggleClass('expanded'); - document.getElementById('list_'+n).focus(); + var k = document.getElementById('list_'+n); + $(k).toggleClass('expanded'); + k.focus(); save_state(); return false; } diff --git a/windows/src/desktop/kmshell/xml/elements.xsl b/windows/src/desktop/kmshell/xml/elements.xsl index 34b1f08d45..9dad219853 100644 --- a/windows/src/desktop/kmshell/xml/elements.xsl +++ b/windows/src/desktop/kmshell/xml/elements.xsl @@ -160,4 +160,27 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/windows/src/desktop/kmshell/xml/keyman_keyboardlist.xsl b/windows/src/desktop/kmshell/xml/keyman_keyboardlist.xsl index 395189f8e5..449942fb51 100644 --- a/windows/src/desktop/kmshell/xml/keyman_keyboardlist.xsl +++ b/windows/src/desktop/kmshell/xml/keyman_keyboardlist.xsl @@ -35,7 +35,7 @@
- package_ + package_ package.gif @@ -71,19 +71,31 @@ + + + + + + + + + + + +
list_item list_keyboard_ - return list_keydown(event,'keyboard_'); - return list_focus(event,'keyboard_'); - return list_blur(event,'keyboard_'); + return list_keydown(event,'keyboard_'); + return list_focus(event,'keyboard_'); + return list_blur(event,'keyboard_'); event.cancelBubble=true;event.returnValue=false; left:0;top:0;width:99%
- return list_detail(event,'keyboard_'); + return list_detail(event,'keyboard_'); listtitle_keyboard_ list_title keyboard_loadedkeyboard_unloaded @@ -92,7 +104,7 @@ keyboardcheck_ event.stopPropagation();return false; - return keyboard_checkclick(''); + return keyboard_checkclick(''); checked
@@ -124,22 +136,22 @@
list_expand_keyboard_
- +
list_close_keyboard_ - location.href='keyman:package_uninstall?id=';event.cancelBubble=true;return false; + location.href='keyman:package_uninstall?id=';event.cancelBubble=true;return false;
list_help_keyboard_ - location.href='keyman:package_welcome?id=';event.cancelBubble=true;return false; + location.href='keyman:package_welcome?id=';event.cancelBubble=true;return false;
list_close_keyboard_ - location.href='keyman:keyboard_uninstall?id=';event.cancelBubble=true;return false; + location.href='keyman:keyboard_uninstall?id=';event.cancelBubble=true;return false;
diff --git a/windows/src/global/delphi/general/UfrmScriptError.dfm b/windows/src/global/delphi/general/UfrmScriptError.dfm index f33ac2a89c..706452ebad 100644 --- a/windows/src/global/delphi/general/UfrmScriptError.dfm +++ b/windows/src/global/delphi/general/UfrmScriptError.dfm @@ -73,7 +73,7 @@ object frmScriptError: TfrmScriptError object chkTellKeymanSupport: TCheckBox Left = 16 Top = 138 - Width = 185 + Width = 225 Height = 17 Caption = 'Tell Keyman Support about this error' Checked = True diff --git a/windows/src/global/delphi/ui/UfrmWebContainer.dfm b/windows/src/global/delphi/ui/UfrmWebContainer.dfm index 20f7765745..d8435dec0a 100644 --- a/windows/src/global/delphi/ui/UfrmWebContainer.dfm +++ b/windows/src/global/delphi/ui/UfrmWebContainer.dfm @@ -18,6 +18,7 @@ inherited frmWebContainer: TfrmWebContainer Height = 286 Align = alClient TabOrder = 0 + Silent = False OnBeforeNavigate2 = webBeforeNavigate2 OnDocumentComplete = webDocumentComplete OnNewWindow3 = webNewWindow3 diff --git a/windows/src/global/delphi/ui/UfrmWebContainer.pas b/windows/src/global/delphi/ui/UfrmWebContainer.pas index db0b47d569..91c300a3c7 100644 --- a/windows/src/global/delphi/ui/UfrmWebContainer.pas +++ b/windows/src/global/delphi/ui/UfrmWebContainer.pas @@ -79,7 +79,8 @@ type private FDialogName: WideString; FXMLRenderers: TXMLRenderers; - FXMLFileName: TTempFile; // I4181 + FXMLFileName: TTempFile; + FNoMoreErrors: Boolean; // I4181 procedure WMUser_FormShown(var Message: TMessage); message WM_USER_FormShown; procedure WMUser_FireCommand(var Message: TMessage); message WM_USER_FireCommand; procedure WMUser_ContentRender(var Message: TMessage); message WM_USER_ContentRender; @@ -390,9 +391,17 @@ var FAborting: Boolean; begin FAborting := False; + + if FNoMoreErrors then + begin + ScriptErrorAction := eaContinue; + Exit; + end; + case ShowScriptErrorDialog(Self, ErrorMessage, FTellKeymanSupport) of // I2992 // I3544 mrYes: ScriptErrorAction := eaContinue; - mrNo: ScriptErrorAction := eaCancel; + mrCancel: begin ScriptErrorAction := eaContinue; FNoMoreErrors := True; end; + mrNo: ScriptErrorAction := eaCancel; mrAbort: begin ScriptErrorAction := eaCancel; FAborting := True; end; end;