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.
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...
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.
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.
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.
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.
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.
I am not sure how this was ever working. This just adds the specific
structure sizes for x64 and verifies that the Delphi sizes are the
same as the reported sizes from C++.
Minor tweak to printf format args for kcframe to assist in this, sorting
a compiler warning.
Fixes#6364.
Removes `&layerChanged` and adds `&newLayer` and `&oldLayer` system
stores with the additional nuances around values as described in #6364.
If a developer has two rules where one includes CAPS and the other
does not include NCAPS, the CAPS rule may not be correctly matched. This
change warns them when this is the case.
This commit adds a function that sets the IM window registry keys
needed for the IMSample keyboard.
It also adds a null pointer check on the lpActiveKeyboard in the imx
callback module.
Fixes#4168.
This button no longer makes sense when we have template projects, as it
encourages keyboard developers to create multiple packages. The template
project should already have a package.
It is also not hard to create a package if you don't already have one;
this does not reduce the complexity significantly, apart from the mini
feature of adding both the .js and the .kmx in a single step (the .kvk
is added also by virtue of the .kmx being added, but that is done in
any case if you manually add a .kmx to a package).
Fixes#5415.
This adds `-h` and `-help` command line parameters to kmcomp. As kmcomp
uses only single-hyphen parameters currently, I opted not to support the
common `--help`, just for consistency.
Fixes#6077.
Refactor all the text field event handlers to have consistent structure
for edits, pastes and keyboard events. This fixes Ctrl+V paste as well
as tidying up the relevant code.