Commit graph

3302 commits

Author SHA1 Message Date
Marc Durdin
15d2182255 fix(windows): maintain use of refreshtag 2020-12-17 11:19:13 +11:00
Marc Durdin
d8fcdb5398 chore(windows): additional files 2020-12-17 11:16:26 +11:00
Marc Durdin
cea564a072 fix(windows): Improve refresh performance
When a keyboard is installed, Keyman will now only refresh its internal
state on a given thread when that thread receives focus and/or input,
rather than immediately. This will dramatically reduce the chatter
caused by Keyman Engine when a keyboard is installed or settings are
changed.
2020-12-17 11:13:18 +11:00
Marc Durdin
17b444bff2 fix(windows): Settings refresh management
Fixes #4011.
Fixes #4039.
Fixes #4121.

This change completes the immediate-change model for Keyman
Configuration, by refactoring the refresh of settings out of the render
phase and more appropriately splitting applying and refreshing. It adds
a new message flag for wm_keyman_refresh, KR_SETTINGS_CHANGED, which
uses a random token approach broadcast to all applications on the
desktop to ensure that the refresh is received and multiple
notifications for the same event can be appropriately coalesced.

Most of the files touched are stripping out the refresh flags from the
render phase.

There is one small bug resolved at the same time with the options
properties, which were not reset to default if they had been deleted
from the registry prior to a refresh (see utilkeymanoption.pas).
2020-12-17 10:50:21 +11:00
Marc Durdin
90b8b379be fix(windows): kmconfig sentrytool typo 2020-12-16 11:47:05 +11:00
Marc Durdin
023a70aadd fix(windows): sentrytool fails on mem realloc
Fixes #4002.

We needed to reseat the pointers after the realloc as the base address
changed; this only affected us occasionally but nasty when it did!
2020-12-16 11:34:39 +11:00
Marc Durdin
53bad857cb fix(windows): Proxy Configuration window size
Fixes #4007.

Proxy Configuration window is now the right size and focuses the Server
text box appropriately.
2020-12-16 09:47:18 +11:00
Marc Durdin
e571113b22 fix(windows): sentrytool should fail build on exception
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.
2020-12-16 09:35:09 +11:00
Marc Durdin
64d618cb58
Merge branch 'beta' into fix/windows/3749-3759-max-transient-languages 2020-12-16 09:32:00 +11:00
Marc Durdin
246cb70840 fix(windows): Warn if we reach maximum transient languages
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.
2020-12-16 09:09:19 +11:00
Marc Durdin
2e7f123ab4
Merge pull request #4149 from keymanapp/fix/windows/4008-text-editor-font-bugs
fix(windows): Text editor font bugs
2020-12-16 07:25:16 +11:00
Marc Durdin
5f97bc8b5b
Merge pull request #4147 from keymanapp/fix/windows/4004-help-window-centered
fix(windows): help window centred on load
2020-12-16 07:25:08 +11:00
Marc Durdin
658e95f92b
Merge pull request #4144 from keymanapp/fix/windows/4111-canonical-bcp47-on-download
fix(windows): Canonicalize BCP 47 tag on keyboard download
2020-12-16 07:24:57 +11:00
Marc Durdin
b3f21bb20c
Merge pull request #4141 from keymanapp/fix/windows/4113-remove-obsolete-option
fix(windows): remove obsolete option 'Switch to OSK/Help'
2020-12-16 07:24:48 +11:00
Marc Durdin
5fe4e4c7ad
Merge pull request #4140 from keymanapp/fix/windows/4012-menu-scroll-not-reset
fix(windows): menu scroll positions need reset at popup
2020-12-16 07:24:36 +11:00
Marc Durdin
6a6ca3f853
Merge pull request #4139 from keymanapp/fix/windows/4112-menu-glitch
fix(windows): glitch in keyboard menu
2020-12-16 07:24:25 +11:00
Marc Durdin
8bef1290e0
Merge pull request #4138 from keymanapp/chore/windows/4042-remove-importkeyboard
chore(windows): remove obsolete importkeyboard app
2020-12-16 07:24:16 +11:00
Marc Durdin
439171e988 fix(windows): Online Update dialog layout was messy
Fixes #4040.

Also now prevents the spurious "no updates are available" message from
appearing when the user cancels the update dialog.
2020-12-15 15:42:06 +11:00
Marc Durdin
fefe69f882 fix(windows): exit button position on setup 2020-12-15 15:03:06 +11:00
Marc Durdin
a56ba3ce20 chore: fixup guid 2020-12-15 14:39:09 +11:00
Marc Durdin
1046a84328 chore: fix oopsie 2020-12-15 14:37:22 +11:00
Marc Durdin
82719788e5 fix(windows): Text editor font bugs
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.
2020-12-15 14:31:38 +11:00
Marc Durdin
06b96400f5 fix(windows): help window centred on load
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.
2020-12-15 13:58:53 +11:00
Marc Durdin
51f415c337 fix(windows): uninstall language button z-index
Fixes #4009.

Brings the uninstall language button above the text so it is clickable
even when the text overlaps.
2020-12-15 12:37:33 +11:00
Marc Durdin
cf2a0ecc60 fix(windows): Canonicalize BCP 47 tag on keyboard download
Fixes #4111.

The keyboard tag passed in from search would  often be missing a region
tag which is required on Windows.
2020-12-15 12:28:57 +11:00
Marc Durdin
32d9fc78d1 chore(windows): rename variables 2020-12-15 12:21:20 +11:00
Marc Durdin
895cd8b375 fix(windows): beta uses wrong server 2020-12-15 12:11:11 +11:00
Marc Durdin
49de5cffd2 fix(windows): remove obsolete option 'Switch to OSK/Help'
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.
2020-12-15 11:58:42 +11:00
Marc Durdin
ad932cdb74 fix(windows): menu scroll positions need reset at popup
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.
2020-12-15 11:46:30 +11:00
Marc Durdin
80d8169a4e fix(windows): glitch in keyboard menu
Fixes #4112.

Glitch in keyboard menu from scrollable buttons being drawn at top-left.
2020-12-15 11:44:59 +11:00
Marc Durdin
900eef7945 chore(windows): remove obsolete importkeyboard app
Functionality has been ported to kmconvert.

Fixes #4042.
2020-12-15 11:20:09 +11:00
Marc Durdin
3fb2c5fe64 chore(windows): apply eberhard's suggestions 2020-12-08 08:37:48 +11:00
Marc Durdin
e7c87ca65a chore(windows): titles and missing files 2020-12-08 06:31:47 +11:00
Marc Durdin
016a0a6588 chore: also build web help 2020-12-07 14:05:01 +11:00
Marc Durdin
80cee4101f fix(windows): help deployment
Reworks help-keyman-com.sh and brings help build.sh in line with it
so that it opens a PR now on help.keyman.com
2020-12-07 06:24:21 +11:00
Marc Durdin
9df408856b
Merge pull request #4075 from keymanapp/chore/windows/remove-docbook-libxslt
chore(windows): remove docbook and libxslt
2020-12-04 14:08:45 +11:00
Marc Durdin
ff127ca8d6
Merge pull request #4074 from keymanapp/feat/windows/convert-desktop-help-to-markdown
feat(windows): convert Keyman for Windows help to Markdown
2020-12-04 14:08:20 +11:00
Marc Durdin
d7c2333cef chore(windows): remove old xsltproc reference 2020-12-04 13:43:47 +11:00
Marc Durdin
b8da7cf962 chore(windows): remove docbook and libxslt
As we now build help files from Markdown, we no longer
need these two dependencies.
2020-12-04 13:43:46 +11:00
Marc Durdin
c6689a0763 chore(windows): hhc return values 2020-12-04 12:24:15 +11:00
Marc Durdin
361e8ddaac chore(windows): fix Makefile 2020-12-04 11:24:35 +11:00
Marc Durdin
93353a91e6 feat(windows): convert Keyman for Windows help to Markdown
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.
2020-12-04 10:59:42 +11:00
Marc Durdin
ed117958d5 fix(windows): keyman: link with = sign is mishandled
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.
2020-12-03 16:12:59 +11:00
Marc Durdin
bf0c4962ec chore(windows): fix typo 2020-12-03 15:14:02 +11:00
Marc Durdin
498100f78b fix(windows): split signed and unsigned versions of setup.exe 2020-12-03 14:56:25 +11:00
Marc Durdin
8d9054f255 fix(windows): bootstrap installer not signed
Fixes #4066.
2020-12-03 14:15:16 +11:00
Marc Durdin
5237d44175 fix(windows): logo was repeating 2020-12-02 15:26:09 +11:00
Marc Durdin
d89f66b073 chore(windows): rollback install path 2020-12-02 14:39:25 +11:00
Marc Durdin
475b13193f fix(windows): typo in wxs 2020-12-02 12:03:52 +11:00
Marc Durdin
2a182946b2 chore(windows): fix wxs bug 2020-12-02 11:09:58 +11:00