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.
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.
This is a follow-up for #6331. We still did not have enough detail to
be able to trace the root cause of the load errors. This adds a little
more diagnostics.
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.
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.
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.
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)
Fixes#4877.
If a keyboard is invalid for any reason (missing, wrong version),
then it would not appear in Configuration, which would break the
row indexing, causing crashes.
Cherry-picked from stable-14.0 branch.