Commit graph

539 commits

Author SHA1 Message Date
Marc Durdin
e42d50a6da fix(developer): crash when switching back a tab
In rare circumstances, Keyman Developer can crash during startup if you
try and switch back to a tab which is not yet available
(Ctrl+Shift+Tab).
2022-07-14 16:24:39 +10:00
Marc Durdin
1659dde17a fix(developer): crash on exit when checking for updates
Fixes #6928.
2022-07-14 16:22:36 +10:00
Marc Durdin
6032181e18 feat(developer): rework displayHint to defaultHint
After a demo of the Touch Layout Editor @jahorton suggested using a
"default hint" model instead of the "display hint" from the design spec.
I liked this and have reworked the design accordingly. With the default
hint model, a source for the hint text can be specified, such as the
default longpress key, or a specific flick key. This can then be
overridden on a key level.

The hint input element now shows a placeholder to indicate the default
hint for the key, and if a hint has been customised for a given key, it
is shown in green on the key cap.

Changing the default hint does not impact any customised hints.
2022-07-14 10:58:59 +10:00
Marc Durdin
02d03588b2 chore(developer): simplify dialog workflow
Most dialogs in touch layout editor can now have just a Close
button with changes taking effect immediately. This helps users
visualize how the options they've chosen will work.
2022-07-14 10:58:58 +10:00
Marc Durdin
1738f12428 feat(developer): add displayHint property to touch layout editor
Moves the top toolbar to the left to make more room, and tidy it up,
and moves various controls into sub-dialogs to make them clearer.

Shortcut buttons to prepopulate the Hint property will come in a
subsequent PR.
2022-07-14 10:58:57 +10:00
Marc Durdin
a362f27dda feat(developer): add hint property to touch layout editor
Also fixes a couple of minor issues with character map integration and
Unicode text fields.
2022-07-14 10:58:56 +10:00
Marc Durdin
54a655e92e feat(developer): add hint and displayHint to touch layout validation and parsing 2022-07-14 10:58:55 +10:00
Marc Durdin
51a94a1d7d feat(developer): cleanup touch layout files on load and save
Improves the .keyman-touch-layout clean schema and adds additional
cleanup during load and save in the Touch Layout Editor.

The compiler already does transforms for the relevant fields to the
formats that KeymanWeb is expecting (in particular, width, pad to
string).

This is preparation for adding hint data to the format as well.
2022-07-14 10:57:39 +10:00
Marc Durdin
60dabb5284 feat(developer): add support for flick and multitap to compiler 2022-07-14 10:57:25 +10:00
Marc Durdin
b702b7dbc3 fix(developer): fix issues with template and presentation 2022-07-14 10:55:03 +10:00
Marc Durdin
d29468441d chore(developer): remove multitap icon cleanly 2022-07-14 10:55:02 +10:00
Marc Durdin
f9241f4cd7 chore(developer): minor cleanup 2022-07-14 10:55:01 +10:00
Marc Durdin
268ba98219 feat(developer): Support new touch layout definitions in Delphi
Also minor tweaks to allow jquery-ui images to load, fixup for broken
file path for node.exe.
2022-07-14 10:55:01 +10:00
Marc Durdin
feee081f6f feat(developer): tweaks ui for selected key cap
* Separates out the 'command' icon key cap controls
* Fixes selection of last active element with undo
2022-07-14 10:55:00 +10:00
Marc Durdin
a637b58066 feat(developer): rework touch layout editor
* Restrucure touch layout editor to make space for additional gesture
  types:
  * Move control bar to right hand side
  * Move key cap edits to control bar.
* Adds flick and multitap gestures:
  * Adds buttons to add longpress keys, flicks or multitaps.
* Adds Unicode value boxes which mirror the key cap text box.
* Updates key width values in real time when resizing
* Maintain selected key as far as possible across layer switch, platform
  switch and presentation view switch.
* Starts to split 'special' key cap icons from normal key caps.
2022-07-14 10:54:59 +10:00
Marc Durdin
5875cf504f chore(developer): update jquery-ui version to 1.13.1 2022-07-14 10:54:58 +10:00
Marc Durdin
054423fbef chore(developer): refactor subkeys out of builder.js 2022-07-14 10:54:57 +10:00
Marc Durdin
83bf20cb44 chore(developer): refactor 'constants' out of builder.js 2022-07-14 10:54:56 +10:00
Marc Durdin
f8f271577b chore(developer): refactor undo actions out of builder.js 2022-07-14 10:54:55 +10:00
Marc Durdin
c88826ccaa chore(developer): refactor builder.js 2022-07-14 10:54:54 +10:00
Marc Durdin
05b3c23b98 fix(developer): QR Code for Package Editor had wrong path 2022-07-12 15:04:58 +10:00
Marc Durdin
7ec9859838 fix(developer): Show full version number
Updated various places in Keyman Developer to show the full
VersionWithTag rather than the short version number we had been
previously showing:

- About dialog
- Welcome screen
- Installer
- kmcomp help
- kmconvert help
- kmanalyze help
- kmdecomp help

This should help when testing to verify that we are testing the right
version.

Also fixed the keymansentry path when running command line C++ programs
from source repo.
2022-06-29 10:58:40 +10:00
Marc Durdin
17f11dfff0 fix(developer): readonly groups should never emit output
Fixes #6799.

For KeymanWeb compiled keyboards, readonly groups should never emit any
output. Rules in these groups permitted only to:
  * `use` other readonly groups
  * `call` external functions (which MUST NOT emit output)
  * `set`, `reset` or `save` store values

The base kmx compiler does emit output for rules in readonly groups.
Thus, the KeymanWeb compiler, when it transpiles from the generated
.kmx, needs to omit output for any readonly group, while avoiding any
other potential change in behaviour.
2022-06-29 06:06:12 +10:00
Marc Durdin
4f36c3c2df chore(developer): Merge branch 'master' into chore/developer/js-to-lmc 2022-06-25 05:48:57 +10:00
Marc Durdin
3464cbac35 chore(windows): Merge branch 'chore/developer/js-to-lmc' into chore/windows/move-general-developer-files 2022-06-25 05:42:39 +10:00
Marc Durdin
018eb6cd53 chore(windows): Merge branch 'chore/developer/js-to-lmc' into chore/windows/move-common-packages-files 2022-06-25 05:41:23 +10:00
Marc Durdin
4eaee2217a
Merge branch 'chore/developer/js-to-lmc' into chore/windows/move-common-keyboards-files 2022-06-25 05:40:25 +10:00
Marc Durdin
c108008440 chore(windows): Merge branch 'chore/developer/js-to-lmc' into chore/windows/move-common-general-files 2022-06-25 05:39:26 +10:00
Marc Durdin
f22ed1a4a7
Merge pull request #6815 from keymanapp/chore/windows/delete-unused-general-files
chore(windows): delete unused files from global/delphi/general 🎢
2022-06-25 05:32:03 +10:00
Marc Durdin
a0fe8b16f8
Merge branch 'chore/developer/js-to-lmc' into chore/developer/move-common-components 2022-06-24 14:23:02 +10:00
Marc Durdin
fde9aa213f
Update developer/src/tike/Tike.dpr
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2022-06-24 09:36:12 +10:00
Marc Durdin
ca17d9e313 chore(developer): README and more path fixups 2022-06-23 10:58:58 +10:00
Marc Durdin
385045e978 chore(windows): fixup refs and move StockFileNames
* StockFileNames.pas was missed in earlier moves.
* Cleaned up references in various dproj files
* Fixed up broken references to common files
2022-06-23 09:47:59 +10:00
Marc Durdin
393083509a chore(windows): move tike files from global to developer
These files used only by TIKE so moved into that project.

Noticed obsolete refs to UMD5Hash and removed those at the same time.
2022-06-23 09:34:03 +10:00
Marc Durdin
9bb4c27e61 chore(windows): move general developer files to developer/ 2022-06-23 09:28:34 +10:00
Marc Durdin
8cbebf7ade chore(windows): move general package units to common 2022-06-23 06:36:23 +10:00
Marc Durdin
2aaa31eae2 chore(windows): move general keyboard units to common 2022-06-23 06:33:16 +10:00
Marc Durdin
96c1e10874 chore(windows): move Keyman.System.RegExGroupHelperRSP19902 unit to common 2022-06-22 14:02:03 +10:00
Marc Durdin
331c9d2d71 chore(windows): move shared general units to common 2022-06-22 13:58:58 +10:00
Marc Durdin
eba8a4ab35 chore(windows): move CRC32.pas to common 2022-06-22 10:36:55 +10:00
Marc Durdin
46c314cbb7 chore(windows): move BCP47Tag.pas to common 2022-06-22 10:35:18 +10:00
Marc Durdin
ac587286bf chore(windows): delete unused utilmsxml.pas 2022-06-21 09:55:16 +10:00
Marc Durdin
c6102eb75b chore(windows): delete unused UnitDrawArrow.pas 2022-06-21 09:54:30 +10:00
Marc Durdin
34d3ea5899 chore(windows): delete unused MLang.pas 2022-06-21 09:51:02 +10:00
Marc Durdin
7583fa64fe chore(windows): delete unused exceptionw.pas 2022-06-21 09:46:01 +10:00
Marc Durdin
9dbe33e36e chore(windows): move KeymanVersion.pas to common and update refs 2022-06-21 09:39:04 +10:00
Marc Durdin
ad4039b5db chore(windows): move RegistryKeys.pas, ErrorControlledRegistry.pas, Glossary.pas, ScanCodeMap.pas to common 2022-06-21 09:39:03 +10:00
Marc Durdin
f163ceb6d5 chore(windows): move Unicode.pas to common 2022-06-21 09:39:01 +10:00
Marc Durdin
ff9a4c5edb chore(windows): move GetOSVersion to common 2022-06-21 09:39:00 +10:00
Marc Durdin
9db6293b84 chore(windows): move usp10 to common 2022-06-21 09:38:59 +10:00