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.
Fixes#4003.
This addresses the majority of locations where we use the name "Keyman
Desktop" in code. There will be some filenames and paths that do not
change at this point -- particularly at a source level. For now, the
focus is on the user interface changes.
While making these changes, I also made the VERSION and MANIFEST
resources more consistent.
We used the 'Started' event when testing Sentry integration. We no
longer need it, but I left it in as commented code so we can re-enable
if/when we do Sentry updates in the future and need to re-test.
Fixes#3993.
Fixes KEYMAN-WINDOWS-4P.
Handles network errors which caused an exception, e.g. connection timed
out, or 12030 The connection with the server was terminated abnormally.
Fixes#3563.
When a keyboard is updated in an online update check, keep the existing
language assocations. This is fixed by using the new install paradigm
which does not change the user's language associations, and so it also
happens to fix issues with non-elevated users who do an update and would
end up with no languages installed.
Fixes#3994.
Task creation was failing for some users because Windows Tasks are all
stored in a shared folder, so attempts to use the same task name by
different users were failing, especially if the user was a non-admin
user.
Furthermore, attempts to execute the trigger would fail because Windows
treats keyman.exe as needing elevation in this context (even though it
doesn't, actually), and so I changed the trigger to call `kmshell -s`,
which then does the needful.
Finally, the uninstaller now attempts to remove all the scheduled tasks
in the Keyman folder. It doesn't care if it fails -- it's just cleanup
and doesn't impact the system adversely if the tasks hang around.