Fixes#3000.
The model editor would save .model.ts files with Windows-1252 (aka ANSI)
encoding, losing non-ANSI characters in the process.
While fixing this, noted that the class member `model` was not being
used apart from in Load (no longer in Save), so reduced its
scope accordingly.
Relates to #4116. This may not yet fix the issue; I don't have enough detail
to be sure of what the precise problem is. I have added one change to add a
username to the task definition, which may make a difference; and I will be
monitoring the more fine-grained exception reporting if that doesn't fix the
problem.
This does not fix the core issue. Examining the logs shows that
sentrytool is failing with an access violation when running on the
build agent, although it works on my local machine. This first step
is to get the build to fail, and then I will test again directly on the
build agent.
Fixes#3749.
Fixes#3759.
Adds a warning dialog when user attempts to add a transient language to
a keyboard but the maximum number of transient languages is already
installed.
If this issue arises when a user is installing a keyboard for the first
time, Keyman instead installs the keyboard for the user's default
language. This may be a little confusing, but the error condition is
difficult to explain and non-technical users will probably be stuck
and need to install under their default language in any case. Happy to
receive any pushback on this decision.
Fixes#4008.
Fixes issue of font helper popping out separately and secondary crash,
as well as the font helper not actually working because the font data
was never passed in.
In the future, we could improve this by moving the font enumeration into
the back end web server thread but that's a bigger refactor and not
appropriate for beta.
Fixes#4004.
Centres the help window when it first appears.
There is still a small resizing event but that will be handled with a
separate PR for #3765.
Fixes#4113.
The option "Switch to On Screen Keyboard/Help automatically when a
keyboard is selected" is obsolete and we should remove it from the UI.
Note that this does not remove the API surface, just hides the option
from view, as there may be apps relying on the API value.
Not touching help just now as that will be addressed in a help update
in the future.
Fixes#4012.
If the menu previously was scrollable, then it would potentially show
items at the wrong offset because the offsets were not reset when the
menu popup was called if no scroll was needed.
1. This is an initial conversion, so much editing to do.
2. Establishes a build script with pandoc dependency.
3. Works to build both .chm and .md on website.
4. Docbook is no longer required; removed in follow-up PR.
Fixes#4068.
If a keyman://download/keyboard/ link contains an `=` sign (e.g. for
BCP 47 tag), then kmshell was treating it as a parameterised local
filename rather than giving it the property url protocol handler
treatment.