Commit graph

3302 commits

Author SHA1 Message Date
Marc Durdin
c679117991 fix(windows): don't log before checking nil when installing keyboard 2022-04-08 11:09:11 +10:00
Darcy Wong
91038ef6f2 Merge remote-tracking branch 'origin/beta' into chore/common/crowdin-km-spacebar 2022-04-08 06:28:18 +07:00
Ross
951a17d372 fix(windows): only check for any previous version installed
There was a time, pre version 11 when the Product version GUID was
the same between versions. That is no longer the case.
Now we only set defaults if no previous installed version exists.
2022-04-07 11:22:43 +10:00
Marc Durdin
cbe8810a6d fix(developer): handle exception on unpaired surrogate
Fixes #6480.
2022-04-07 10:47:13 +10:00
Marc Durdin
4c60319266
Merge branch 'beta' into feat/developer/6462-duplicate-store-group-definitions 2022-04-04 19:35:01 +10:00
Marc Durdin
5a8064ef4e
Merge branch 'beta' into fix/developer/5472-kmconvert-check-parameters 2022-04-04 19:32:42 +10:00
Marc Durdin
10ec7fbc2f
Merge pull request #6466 from keymanapp/fix/developer/2748-icon-editor-font-color
fix(developer): icon editor font color now follows fgcolor
2022-04-04 19:30:04 +10:00
Marc Durdin
551dbe4cdf
Merge pull request #6465 from keymanapp/feat/developer/2749-icon-editor-clear-all-button
feat(developer): add Clear All button to icon editor
2022-04-04 19:29:54 +10:00
Marc Durdin
348036c703
Merge pull request #6445 from keymanapp/feat/developer/194-check-filename-case
feat(developer): check filename case consistency when compiling keyboard
2022-04-04 19:29:22 +10:00
Marc Durdin
7f914c9e82
Merge pull request #6440 from keymanapp/feat/developer/355-unreachable-code
feat(developer): hint on unreachable code
2022-04-04 19:29:13 +10:00
Darcy Wong
e6f8939721 chore(common): Update in-app help versions to 15.0 2022-04-04 11:52:13 +07:00
Marc Durdin
ce67954d20 fix(developer): icon editor font color now follows fgcolor
Fixes #2748.

Note that transparent text is not supported for ClearType or antialiased
modes.
2022-04-04 10:24:14 +10:00
Marc Durdin
e9e5d285af feat(developer): add Clear All button to icon editor
Fixes #2749.

Adds a Clear All button which does the same as Edit/Clear Selection.

At the same time, fixes the Clear code for transparent background
colours; previously, clear all with transparent background gave a black
fill.
2022-04-04 09:29:31 +10:00
Marc Durdin
55561b3d34 fix(developer): improves More Help link for icon tool
Fixes #2750.

This tweaks the More Help link to open the correct part of the Keyboard
Editor help page. Goes together with keymanapp/help.keyman.com#526.

The context help data needs a consolidated rewrite. This does not
attempt to touch that, nor does it attempt to add more contextual help
links for any other part of the Developer IDE. That is work for another
day...
2022-04-04 09:25:43 +10:00
Marc Durdin
3e6f416bfa feat(developer): check for duplicate store/group names
Fixes #6462.

The compiler will now produce an error if a store() or group() name is
re-used, as this is invalid.
2022-04-04 08:08:28 +10:00
Marc Durdin
10b81d56ba
Update windows/src/developer/kmcmpdll/Compiler.rc
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2022-04-03 06:39:48 +10:00
Marc Durdin
5dcd95da41
Merge pull request #6449 from keymanapp/feat/developer/5063-multiple-virtual-keys
feat(developer): keep Virtual Key Identifier dialog open on Insert
2022-04-01 07:32:53 +11:00
Darcy Wong
5bcac1b1bf chore(common): Update crowdin strings for km 2022-03-31 20:59:07 +07:00
Marc Durdin
674ff3a711 fix(developer): update kmconvert command line call 2022-03-31 12:11:47 +11:00
Marc Durdin
67a02a4a93 fix(developer): make sure unit tests stop build on error 2022-03-31 11:39:09 +11:00
Marc Durdin
921f0b9f1a fix(developer): adds unit test for kmconvert 2022-03-31 11:38:54 +11:00
Marc Durdin
34e2d7008c fix(developer): validate kmconvert parameters
Checks common error scenarios in kmconvert command line parameters.
2022-03-31 11:38:03 +11:00
Marc Durdin
0696587cc8 refactor(developer): KMConvertParameters use private setters
First part of #5472.

Refactoring with no behavioural change to make it easier to validate
parameters.
2022-03-31 10:09:53 +11:00
Marc Durdin
746a2d9be6 chore: update additional tests 2022-03-31 08:02:37 +11:00
Marc Durdin
32eaff95b8 chore(developer): and... tweak test fixture 2022-03-31 06:40:03 +11:00
Marc Durdin
62e2f51887 feat(developer): keep Virtual Key Identifier dialog open on Insert
Fixes #5063.

It can be useful to be able to insert multiple keys into the active
keyboard source file. With this tweak, the dialog no longer closes with
the Insert button, only with the Close button.
2022-03-31 06:24:59 +11:00
Marc Durdin
0606e4e732 chore(developer): tweak test 2022-03-31 06:09:32 +11:00
Marc Durdin
7c1c4b8729 chore(developer): tweak test reporting 2022-03-30 19:57:53 +11:00
Marc Durdin
a639eaa946 feat(developer): promote 'info' messages to 'hint'
There was confusion in the compiler between INFO and HINT type messages.
The problem is that INFO messages will be suppressed by -s/-ss in
kmcomp, but we actually still want HINT messages to be emitted. So I
have gone ahead and renamed CERR_INFO to CERR_HINT and updated all the
places.

This was necessary in order for the kmcomp e2e test 194 to pass.
2022-03-30 17:04:48 +11:00
Marc Durdin
d0a26ae62f feat(developer): check filename case consistency when compiling keyboard
Fixes #194.

Adds a check for all the various file types that may be referenced by a
.kmn file to ensure that the case of the reference matches the case in
the filesystem, to ensure that files are transportable across to
case-sensitive filesystems.

The output is provided as a Hint (Info) level message so that it does
not fail keyboard builds.
2022-03-30 16:25:12 +11:00
Marc Durdin
825083e601 fix(developer): Add Wordlist button now copies into source folder
Fixes #2185.

If a wordlist file is not in the same folder as the .model.ts file,
Keyman Developer will now ask the user if they want it copied into the
folder.

Also minor fix: if the user deletes a row in a wordlist, it marks the
file as modified.

Also very minor: the initial folder for the Add Wordlist dialog is now
the same as the .model.ts file.
2022-03-30 10:04:55 +11:00
Marc Durdin
5603ca46fd feat(developer): add tests for unreachable code
This adds 4 tests for unreachable code and 1 future test. It also fixes
test.bat so that it exits with an error if the tests fail, and ensures
that tests are run by fixing the parent Makefile.
2022-03-30 09:15:07 +11:00
Marc Durdin
4a619b051d fix(developer): set kmcomp debug build to correct folder 2022-03-30 09:12:27 +11:00
Marc Durdin
7ff1ab8419
Merge pull request #6435 from keymanapp/feat/developer/4854-character-map-builder-integration
feat(developer): improve Touch Layout Editor and Character Map integration
2022-03-30 05:22:17 +11:00
Marc Durdin
175efea0b4 feat(developer): cleanup of unicode support 2022-03-29 14:55:21 +11:00
Marc Durdin
b50ad35d72 feat(developer): hint on unreachable code
Fixes #355.
Fixes #1710.

This is structured as a feature so it is tested as such, but was part of
the set of fixes scheduled for 15.0 beta. Any rule in a group that
Keyman Developer assesses as 'unreachable' will receive a hint message.

The current rule match is fairly simplistic -- it only does an exact
comparison -- so duplication which is indirect, through `any(store)`
references in the context would still result in unreachable rules that
are not picked up.
2022-03-29 12:49:34 +11:00
Marc Durdin
c0248bec1b
Merge pull request #6432 from keymanapp/fix/web/shifted-key-cap
fix(web): *Shifted* showed unshifted key cap
2022-03-29 12:36:12 +11:00
Marc Durdin
33fda3e59f feat(developer): improve Touch Layout Editor and Character Map integration
Fixes #4854.

Adds some intelligence to the drag + drop integration with the Touch
Layout Editor, so that we always drop a character onto a key cap, we
always drop a code onto a ID field, and can drop both character + code
together (if the key id is T_new_..., or holding Ctrl key).

Hovering over any key for 0.25 sec while dragging will select that key.
You can then continue dragging down to the subkey array and drop onto
any of those keys. Note that you do not need to hover for 0.25 sec
before you drop onto a key -- the drop operation will select the key
under the cursor when dropping.

Double-clicking will update the selected key or subkey; Ctrl will do
both the key cap and the ID.
2022-03-28 11:47:55 +11:00
Marc Durdin
46807d7af2 fix(web): *Shifted* showed unshifted key cap
While this was done in code as a global override, probably following
Apple stylistic changes, it is better to leave this to the keyboard
developer to decide on.
2022-03-28 09:02:22 +11:00
Marc Durdin
b87197a3f6
Merge pull request #6424 from keymanapp/fix/windows/6098-ui-language-scroll
fix(windows): make long menus scroll in Configuration
2022-03-28 04:44:19 +11:00
Ross
f8402a35e0 fix(windows): Fix scope of variables in case statement 2022-03-25 08:50:09 +10:00
rc-swag
2c40f13db0
fix(windows): add brackets to string return
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-03-24 20:19:17 +10:00
Ross
31138ecdbc fix(windows): put correct HK_ALT flag for modifier 2022-03-24 16:20:12 +10:00
Marc Durdin
bfc973ec4e fix(windows): make long menus scroll in Configuration
Fixes #6098.

If the list of languages is too long to fit, the menu now dynamically
adds a scroll bar.

As a bonus:
* The language names are sorted (non-Latin scripts at bottom for now)
* `nmake install` works again (in kmshell, presence of `install` folder
  was confusing it)
2022-03-24 15:17:57 +11:00
Marc Durdin
d714ccc2d1
Merge pull request #6408 from keymanapp/fix/developer/kmcomp-x64-struct-sizes
fix(developer): structure sizes for kmcomp x64
2022-03-24 09:45:22 +11:00
Marc Durdin
5c388d1d7e
Merge pull request #6366 from keymanapp/feat/web/6364-new-layer-old-layer-replaces-layerchanged
feat(web): `&newLayer` and `&oldLayer`
2022-03-23 16:53:34 +11:00
Ross
342af79c34 fix(windows): add cs_clsidKMTipTextService const 2022-03-23 15:12:48 +10:00
rc-swag
4f218e7d6f
fix(windows): apply review comments as batch
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-03-23 15:07:10 +10:00
Ross
c2d478ba4e fix(windows): rename header - review comments 2022-03-22 16:34:46 +10:00
rc-swag
fec2120b2e
fix(windows): address review comments 2022-03-22 13:37:33 +10:00