Commit graph

539 commits

Author SHA1 Message Date
Marc Durdin
2d5e3ee440
Merge pull request #13156 from keymanapp/feat/developer/13134-improve-messages-and-links
feat(developer): improve compiler messages and user interface
2025-02-10 08:19:11 +07:00
Marc Durdin
503d045fee fix(developer): for new projects, link welcome.htm in package; use v17 project format for new models
* Links welcome.htm in the package details for all project types
* Uses v17 project file format for new lexical model projects
* Nit: changes shortcut key for 'supported languages' from 'l' to 's'
  to fix conflict with 'full copyright'.

Fixes: #13135
2025-02-07 13:50:11 +07:00
Marc Durdin
bd4633333b feat(developer): improve compiler messages and user interface
* Add unit test to verify the format of message detail strings
  (max line length of 80 chars)
* Add unit test to verify non-null, non-empty message strings
* Tidy up a number of messages (to pass unit tests)
* Add message details for all kmw compiler messages
* Add a clickable link for the TIKE message window for each message
  so that explanations and further message details are more accessible
  to authors (`kmc message` is already available for command-line users)
* Fixes a number of minor issues with the messages window in TIKE,
  mostly relating to when popup menu commands are enabled and how
  messages are selected.

Fixes: #13134
2025-02-07 08:46:46 +07:00
Marc Durdin
432f975283 fix(developer): support non-US base keyboard layouts in debuggers
Keyman Core expects US English virtual key codes, so make sure that the
debuggers translate the key codes they receive from Windows to the hard-
coded values for US English, as defined in ScanCodeMap.

Fixes: #13052
2025-02-05 15:22:24 +07:00
Marc Durdin
7d70b6c31d
Merge pull request #13076 from keymanapp/feat/developer/13073-kmc-copy-ui-in-developer
feat(developer): add user interface for `kmc copy` to TIKE
2025-02-05 11:30:22 +07:00
Marc Durdin
595f486414
chore: Apply suggestions from code review
Co-authored-by: rc-swag <58423624+rc-swag@users.noreply.github.com>
2025-01-31 05:05:23 +01:00
Marc Durdin
afa3e3a0b2 feat(developer): clarify project id format for kmc-copy UI
Fixes: #13073
2025-01-31 11:01:40 +07:00
Marc Durdin
46be7a8b10 chore(developer): roll back unwanted package editor form changes 2025-01-31 08:58:19 +07:00
Marc Durdin
0dc1ef2ac0 chore(developer): handle forward slashes in paths in package editor 2025-01-30 13:58:14 +07:00
Marc Durdin
46fc4d52cf feat(developer): add user interface for kmc copy to TIKE
Adds a new set of 'New Project' dialogs to allow authors to easily copy
keyboards from local filesystem, Keyman Cloud (including a keyboard
search web page, implemented in keymanapp/keyman.com#536), and
directly from a GitHub URL. Adds related documentation.

Fixes: #13073
Depends-on: keymanapp/keyman.com#536
2025-01-30 11:04:18 +07:00
Marc Durdin
7e30a9fd5c fix(developer): escape font facename in touch layout editor
Fixes: #13017
2025-01-24 10:46:32 +07:00
Marc Durdin
ae148984b8
Merge pull request #12976 from keymanapp/feat/developer/12975-verbose-and-debug-log-levels
feat(developer): add 'verbose' and 'debug' log levels to kmc
2025-01-23 14:42:59 +07:00
Marc Durdin
a08f1aca6e feat(developer): add 'verbose' and 'debug' log levels to kmc
Adds 'verbose' and 'debug' log levels and corresponding error severity
levels. This means the internal error severity values have changed to
match - 'info' is now 2 instead of 0.

Fixes: #12975
2025-01-22 08:58:13 +07:00
Marc Durdin
7cb6be6a97 fix(developer): support &displayMap font in web debugger
Adds a new design-time font property for when `&displayMap` is in use in
a keyboard, so that the web debugger can use that font as appropriate.

If the keyboard does not have a `&displayMap` store, then the DisplayMap
font property is disabled, and the web debugger will use the OSK Font
instead, as previously was the case.

Note that the font for `&displayMap` has to be installed on the keyboard
author's system in order for it to be served up.

Fixes: #12123
2025-01-17 11:03:20 +07:00
Marc Durdin
249428db7b
refactor(developer): km_core_keyboard_load_from_blob in debugger
Replaces `km_core_keyboard_load` with `km_core_keyboard_load_from_blob`.

Fixes: #12690
Cherry-pick: #12711
2024-11-27 16:17:48 +01:00
Marc Durdin
ea6714956f
Merge pull request #12608 from keymanapp/fix/developer/12607-force-server-directory-before-config-save
fix(developer): create Server config directory before options save
2024-11-05 07:07:02 +01:00
Marc Durdin
0467febf46
chore(developer): apply review suggestions 2024-11-04 05:01:43 +01:00
Marc Durdin
ae9a4210c3 fix(developer): create Server config directory before options save
Also use back-off logic for saving in case config file is locked by
another process.

Fixes: #12607
Fixes: KEYMAN-DEVELOPER-1Z1
2024-11-04 08:08:28 +07:00
Marc Durdin
ad1e77731f fix(developer): handle paste of TSV into Wordlist grid
When pasting into the wordlist grid, the editor will now check if the
clipboard text contains newlines or tabs, and if so, will paste the
text as new rows in the wordlist (with a prompt), rather than pasting
the whole text into the current cell.

If the clipboard text does not contain NL or TAB then the default
in-cell editor paste handling will run.

Fixes: #12517
2024-10-31 08:40:02 +07:00
Marc Durdin
473fea9be0
Merge pull request #12464 from keymanapp/fix/developer/12454-use-richedit-for-debugger-memo
fix(developer): use richedit in debug memo to support Egyptian cartouches
2024-10-09 09:49:21 +02:00
Marc Durdin
e208d56419 fix(developer): use RichEdit 4.1 for debugger memos
Adds support for using RichEdit 4.1, and sets the richedit control into
the correct mode for rendering arbitrary Unicode correctly. Removes
some unnecessary per-character refresh for improved performance.

Fixes: #12454
2024-10-08 14:21:22 +07:00
Marc Durdin
7ff8c707e9 fix(developer): warn before importing over touch layout
Fixes: #12476
2024-09-26 17:31:43 -07:00
Marc Durdin
0b09ffabe5
Merge branch 'master' into context/options 2024-09-26 00:17:07 +02:00
Marc Durdin
035af7271c
docs: tweak content 2024-09-26 00:15:52 +02:00
Marc Durdin
25ea6a74dc fix(developer): use richedit in debug memo to support Egyptian cartouches
RichEdit allows text selection one character past end-of-string, so we
need to cater for that as well in passing text ranges to the character
grid.

Fixes: #12454
2024-09-24 08:24:47 -07:00
Nguonnyny Tan
7c365e35a3
chore: update contexthelp.xml 2024-09-17 14:31:38 +07:00
Marc Durdin
046bd25f63 chore(developer): improve build order of operations so builds work on new machines 2024-08-23 07:47:53 +02:00
Marc Durdin
02e500f3b5
Merge pull request #12168 from keymanapp/chore/developer/12161-update-sil-logo
chore(developer): update SIL logo
2024-08-14 21:24:57 +10:00
Marc Durdin
b505bebd49 chore: rename SIL International to SIL Global 2024-08-13 12:04:53 +08:00
Marc Durdin
5ac8c26699 chore(developer): update SIL logo
Fixes: #12161
2024-08-13 11:53:56 +08:00
Marc Durdin
ce45f394d1 fix(developer): ignore scan code if zero in debugger
The Windows Clipboard Win+V key event emits Ctrl+V after rewriting the
clipboard, in order to trigger a Paste action in the active app.
However, the Ctrl key event has been given a scan code value of zero by
Windows Clipboard, which was confusing the Keyman Developer Debugger,
causing it to process Ctrl as an unrecognized key rather than as a
modifier, and leading to an unsupported state.

This is a fix for the immediate issue. We could do more to improve
resilience such that `km_core_state_debug_items()` can never end up with
this exception when `km_core_process_event()` has returned true.

Fixes: #11978
Fixes: KEYMAN-DEVELOPER-20W
2024-08-12 22:51:00 +08:00
Marc Durdin
2b12c36feb
Merge pull request #11799 from Nnyny/language/reference
chore(developer): add language/reference
2024-08-05 14:25:36 +10:00
rc-swag
64efd2a7b4
Merge pull request #11973 from keymanapp/chore/windows/11925/deprecate-qit-vshiftdown
chore(windows): remove QIT_VSHIFTDOWN QIT _VSHIFTUP
2024-08-05 13:07:21 +10:00
Marc Durdin
2c866f3a18 fix(developer): handle errors parsing .kps file when loading project
When a project is loaded, the IDE parses .kps files to retrieve metadata
for viewing. If the .kps file was malformed, then the parser could fail,
blocking the load of the project. Instead, we just ignore the errors and
show no metadata. Note that the Package Editor already loads the file
successfully and reports on the problem, allowing the user to fix it.

Fixes: #11992
Fixes: KEYMAN-DEVELOPER-23W
2024-07-25 08:40:28 +07:00
rc-swag
440997289c chore(windows): remove QIT_VSHIFTDOWN QITSHIFTUP
QIT_VSHIFTDOWN and QIT_VSHIFTUP is no longer sent out in the windows
engine. This commit cleans up any rement references to these
2024-07-17 14:20:43 +10:00
Marc Durdin
5ecc3aa3e3 chore(developer): clarify project upgrade messages about file locations 2024-06-19 06:23:34 +10:00
Nnyny
7fe2dfe0ef add language/reference 2024-06-17 14:23:19 +07:00
Marc Durdin
021e999d79
Merge branch 'master' into contexthelp-final/keyboard-editor 2024-06-14 09:29:06 +10:00
Marc Durdin
21f6e128e2
Merge branch 'master' into contexthelp/select-bcp47-language 2024-06-14 09:28:24 +10:00
Marc Durdin
dba47e7075
Merge branch 'master' into contexthelp/new-project-parameters 2024-06-14 09:27:49 +10:00
Marc Durdin
60a4587c69
Merge pull request #11767 from Meng-Heng/contexthelp/new-project
docs(developer): context help in new-project section
2024-06-14 09:27:16 +10:00
Marc Durdin
222a141d77
Merge pull request #11754 from Meng-Heng/contexthelp/keyboard-editor
docs(developer): context help in keyboard-editor section
2024-06-14 09:27:09 +10:00
Marc Durdin
c01fceae7e
Merge pull request #11760 from Meng-Heng/contexthelp/package-editor
docs(developer): context help in package-editor and put the existing context help in their own tab comments
2024-06-14 09:26:45 +10:00
Marc Durdin
4a35e51a46
Merge pull request #11759 from keymanapp/fix/developer/11646-add-platform-no-more-platforms-builder
fix(developer): show message if no more platforms to add to touch layout editor
2024-06-14 08:48:41 +10:00
Meng-Heng
137443e34f docs(developer): extra context help for keyboard-editor (does not exist in Keyman Developer 17.0)
Fixes: #2131
2024-06-13 14:09:54 +07:00
Meng-Heng
abb2530ea5 docs(developer): context help for Select BCP 47 tag in Keyman Developer
Fixes: #2131
2024-06-13 13:50:53 +07:00
Meng-Heng
cf6665e2ce docs(developer): context help for new project parameters in keyman developer
Fixes: #2131
2024-06-13 13:13:27 +07:00
Meng-Heng
9d2d790fa9 docs(developer): context help in new-project section
Fixes: #2131
2024-06-13 12:19:56 +07:00
Marc Durdin
4090a46363
Merge pull request #11720 from keymanapp/fix/developer/11719-handle-missing-osk-when-importing-windows-keyboard
fix(developer): handle missing OSK when importing a Windows keyboard into a touch-only project
2024-06-13 10:01:00 +10:00
Meng-Heng
2d6d007f74 docs(developer): context help in package-editor and put the context help in their tabs
Fixes a portion of #2131:
2024-06-12 15:35:17 +07:00