Commit graph

312 commits

Author SHA1 Message Date
Marc Durdin
0f05da957f fix(developer): remove redundant Name and RTL fields from .kps LexicalModel
Follows on from the similar changes to `Keyboard` fields in #13600. This
deprecates the `RTL` and `Name` fields. `RTL` was never used. `Name` was
written but never presented to end users, so effectively irrelevant.
`Name` also was present in `File.Description` (already deprecated) for
the corresponding model.js _and_ `Info.Name`, so doubly redundant.

Also updates the schema documentation to mark the deprecated fields.

Relates-to: #13600
2025-04-02 05:39:09 +07:00
Marc Durdin
9dabcc0306 fix(developer): remove redundant keyboard fields from .kps
The fields 'name', 'version', and 'rtl' were defined in the .kps file,
but were not actually used by the compiler, as kmc-package reads the
metadata from the keyboard file rather than relying on this data, which
often is out of date. This led to confusion for keyboard authors, so
this change removes that metadata from the package.

The one visible side-effect (apart from the data disappearing from
future .kps files) is that the package editor no longer shows this
metadata in the Keyboards view (but as it may be out-of-date, this is
probably a good thing).

Fixes: #13576
Fixes: #13593
2025-03-28 14:07:23 +07:00
rc-swag
df938fef51 Merge pull request #13444 from keymanapp/feat/windows/13106-hard-code-osk-font-colour
feat(windows): hard code key cap colour
2025-03-17 17:14:45 +10:00
Marc Durdin
f9ab3c7045
Apply suggestions from code review
Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2025-02-24 09:58:48 +01:00
Marc Durdin
ef60c08d7c chore: add build.sh edit action for Delphi projects
This opens up the Delphi IDE with the correct KEYMAN_ROOT environment,
which allows for debugging. This is very helpful when working with
multiple worktrees, and also helps to avoid editing a project in the
wrong tree.
2025-02-22 06:18:47 +01:00
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
d4ecd83459 chore(developer): use kmn.sh instead of deeplink into help.keyman.com for message links 2025-02-07 12:50:38 +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
rc-swag
46c6a44f90
Merge pull request #13115 from keymanapp/feat/windows/13114/merge-update-reg-key
feat(windows): check updates and automatic update merged
2025-02-06 21:46:45 +10:00
rc-swag
9eec271011 feat(windows): check updates and automatic update merged
Check updates meaning has slightly changed it is now automatic updates
and it will now check, download and when possible start the install.

Previously it just meant a check for upates was made and notified
the user of updates.

Fixes:#13114
2025-02-03 14:25:44 +10: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
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
974b16f722
Merge branch 'epic/windows-updates' into chore/merge-master-into-windows-updates 2024-12-05 08:49:34 +01:00
Marc Durdin
18d00c7701 fix(core): use NDEBUG flag to disable assertions in release build for VC++
This disables assertions in release builds in Windows only. Other
platforms may have different outcomes.

Fixes: #12619
2024-11-27 15:34:34 +07:00
rc-swag
f2d0e268a7 feat(windows): remove TUpdateStateMachineParams
There was some dead code from before the RemoteUpdateCheck refactor
was created. This is removed in this commit
2024-10-30 16:59:32 +10:00
rc-swag
c988271628
feat(windows): formatting review suggestions
Co-authored-by: Marc Durdin <marc@durdin.net>
2024-10-15 12:12:21 +10:00
rc-swag
4ad5f0fc64 chore(windows): Merge branch 'epic/windows-updates' into feat/windows/add-apply-now-update 2024-10-01 17:38:59 +10:00
Marc Durdin
2d09c805d0
Merge pull request #12417 from keymanapp/chore/merge-master-into-windows-updates
chore: merge master into windows-updates
2024-09-13 09:24:17 +02:00
rc-swag
5c187db7a6 feat(windows): address review comments 2024-09-12 13:40:42 +10:00
rc-swag
3f1236ab59 feat(windows): comments copyright formating 2024-09-10 17:22:21 +10:00
rc-swag
bfe1b45983 feat(windows): automatic updates option to config reg 2024-09-09 15:51:32 +10:00
rc-swag
e41a8cbbb6
Merge pull request #12259 from keymanapp/feat/windows/11471/right-modifier-hk
feat(windows): add right modifier included in hotkey optional functionality
2024-09-06 13:40:14 +10:00
rc-swag
85a998bb73 feat(windows): rename executehistory module for clarity 2024-09-03 15:31:49 +10:00
rc-swag
1667cfed09 feat(windows): clean up ready for review 2024-09-03 14:38:09 +10:00
rc-swag
10c343fc43 feat(windows): change verb use to allow for clarity 2024-09-02 13:31:21 +10:00
rc-swag
f0827b4d1e
Merge pull request #12252 from keymanapp/feat/windows/11471/remove-old-flags-modifier
feat(windows): Remove hotkey related feature flags
2024-09-02 12:59:12 +10:00
rc-swag
d70ad35691 chore(windows): Merge branch 'feat/windows/11471/remove-old-flags-modifier' into feat/windows/11471/right-modifier-hk 2024-09-02 11:46:00 +10:00
rc-swag
20a9ecdb78 feat(windows): address review comments 2024-09-02 11:33:55 +10:00
Marc Durdin
fd5c1c31b6
Merge pull request #12323 from keymanapp/chore/merge-master-into-windows-updates
chore: merge master into windows-updates
2024-08-30 04:33:54 +02:00
rc-swag
e2ec08ca9b feat(windows): remove klogging enable 2024-08-27 18:03:57 +10:00
rc-swag
50a56c94fc chore(windows): Merge branch 'epic/windows-updates' into feat/windows/add-apply-now-update 2024-08-27 13:02:46 +10:00
rc-swag
500c800bb4 feat(windows): remove developer debug logging 2024-08-27 11:01:50 +10:00
Marc Durdin
e1bf42ed31
Merge pull request #12274 from keymanapp/chore/windows/12247-remove-remaining-makefiles
chore(windows): remove remaining unused Makefiles
2024-08-24 04:34:14 +02:00
Marc Durdin
9a8b6d1279 chore(windows): remove remaining unused Makefiles
Fixes: #12247
2024-08-23 18:12:06 +02:00
rc-swag
2927f57c04 feat(windows): missed checked in file 2024-08-23 15:41:31 +10:00
Marc Durdin
f082ddc070 chore(common): adjust build settings for windows clean builds 2024-08-22 13:20:52 +02:00
rc-swag
05d52463f9 feat(windows): remove registerhotkey and cache modifier
Remove the feature flags that allows the use of cached modifier for
hotkeys. Remove the feature flag that uses the Win 32 API
RegisterHotkeys.
2024-08-22 15:45:23 +10:00
rc-swag
98787afbdc feat(windows): restore removal of klogging 2024-08-20 11:15:50 +10:00
rc-swag
b7b17686ec feat(windows): add rmodifier hk to keyman config UI 2024-08-19 14:01:43 +10:00
rc-swag
be55dabdc4 feat(windows): add right modifier key option pt1 2024-08-16 22:15:42 +10:00
rc-swag
6a305c168b feat(windows): remove uneeded registry keys 2024-08-16 13:26:02 +10:00
rc-swag
b0cdcabaaa feat(windows): correct error checking for has keyman run 2024-08-13 18:29:16 +10:00
Marc Durdin
4f478af8b3
Merge pull request #12097 from keymanapp/chore/merge-master-into-windows-updates
chore: merge master into windows-updates
2024-08-06 08:22:08 +10:00
Marc Durdin
98560dd644
Merge pull request #12030 from keymanapp/refactor/developer/kmcmplib-compiler-errors
refactor(developer): move functions and variables into CompilerErrors.cpp 🌋
2024-08-03 12:07:49 +10:00
Marc Durdin
833efeb53f refactor(developer): move functions and variables into CompilerErrors.cpp
Groundwork for rework of compiler errors. No functional changes.
2024-07-26 10:03:12 +07:00
rc-swag
9f72febff8 feat(windows): merge conflicts wip 2024-07-24 16:59:21 +10:00
rc-swag
bf2d8f9491 chore(windows): Merge branch 'epic/windows-updates' into feat/windows/add-apply-now-update
# Keyman Conventional Commit suggestions:
#
# - Link to a Sentry issue with git trailer:
#     Fixes: _MODULE_-_ID_
# - Give credit to co-authors:
#     Co-authored-by: _Name_ <_email_>
# - Use imperative, present tense ('attach' not 'attaches', 'attached' etc)
# - Don't include a period at the end of the title
# - Always include a blank line before trailers
# - More: https://github.com/keymanapp/keyman/wiki/Pull-Request-and-Commit-workflow-notes
2024-07-23 15:03:36 +10:00
rc-swag
9b59a4a94b
Merge pull request #11995 from keymanapp/chore/merge-master-into-windows-updates
chore: merge master into windows-updates 💽
2024-07-23 14:53:09 +10:00
Marc Durdin
6fe81cb256
Merge branch 'master' into refactor/windows/cleanup-engine-logging 2024-07-04 10:23:00 +10:00
Marc Durdin
1be73a9c2e refactor(windows): clean up logging
* Remove unused parameters from SendDebugMessage functions
* Add SendDebugEntry and SendDebugExit functions for tracking
  function entry/exit
* Add indenting and function names to log entries
* Remove unused debug functions
* Eliminate now-unused hwnd parameter in initialization functions
* Replace Log,LogEntry,LogExit functions with SendDebug equivalents in
  kmtip

Many functions now have SendDebugEntry/SendDebugExit (or
return_SendDebugExit) pairs. It is important to SendDebugExit on all
returns from a function to keep the log indent depth consistent. In some
cases I chose not to add these logging calls, e.g. on frequently called
functions such as the message hooks.
2024-07-03 21:28:37 +10:00