Commit graph

3486 commits

Author SHA1 Message Date
Marc Durdin
b865f3d980 chore: address review comments 2020-10-24 15:00:59 +11:00
Marc Durdin
0ab49191d8 fix(windows): buffer overrun in debug function 2020-10-24 14:46:19 +11:00
Marc Durdin
46318d5cba fix(windows): restore Setup after minimize
Fixes #3666.

Due to an issue in Delphi with 'modal' dialogs without a parent window,
Setup would not restore after being minimized, e.g. with Win+D.
2020-10-22 17:32:53 +11:00
Marc Durdin
b123ef2ba6 feat(windows): Apps for Controlling Browser TSF integration
These two tiny apps automate enabling/disabling TSF integration for
Chrome and Firefox. They are support apps, manually built, signed and
uploaded to downloads.keyman.com. Hopefully one day they will disappear!
2020-10-22 16:40:17 +11:00
Marc Durdin
af12c3bbfb
Merge pull request #3728 from keymanapp/chore/windows/msgping-update
chore(windows): update msgping to Winsdk 10
2020-10-22 14:49:38 +11:00
Marc Durdin
2da01e2210
Merge pull request #3727 from keymanapp/fix/windows/tsysinfo-clearer-upload-failure
fix(windows): improve tsysinfo upload messages
2020-10-22 14:49:24 +11:00
Marc Durdin
acade486a0
Merge pull request #3735 from keymanapp/fix/windows/3690-setup-status-label
fix(windows): setup status showed only 'removing older versions'
2020-10-22 14:49:12 +11:00
Marc Durdin
67cc0406dc fix(windows): add kmconfig.exe to install feature 2020-10-21 17:46:56 +11:00
Marc Durdin
e570883382 fix(windows): add kmconfig.exe to install feature 2020-10-21 17:17:50 +11:00
Marc Durdin
ca2ff17058 chore(windows): minor ui tweaks 2020-10-21 17:09:48 +11:00
Marc Durdin
68e244dfff feat(windows): kmconfig GUI (in kmshell)
This adds a GUI for controlling all Keyman Settings, accessible through
Keyman Configuration.
2020-10-21 16:51:20 +11:00
Marc Durdin
db60590653 chore(windows): fix typo comment in Makefile 2020-10-21 16:45:56 +11:00
Marc Durdin
aa8fecf385 feat(windows): kmconfig console app
This app uses the new `TKeymanSettings` class to present a standardised
interface for all Keyman settings -- debug, development and
compatibility. This is a console app, intended for use in a variety of
scenarios, including development tools, in the future.

Settings can be set, exported/imported to/from json, reset, shown.

Important in this PR is establishing the command line parameter
consistency and usage into the future.
2020-10-21 16:38:26 +11:00
Marc Durdin
1418a0ebc0 feat(windows): add KeymanSettings as a shared class
This moves the Keyman Settings Manager into global and prepares for use
with kmshell and a new console app kmconfig; these changes will be in
separate PRs.

Note: this PR still does not include the other standard Keyman options
which can be configured via the normal Keyman Configuration Options
dialog. I don't anticipate adding these standard options in Keyman 14;
perhaps in 15.0.
2020-10-21 16:35:54 +11:00
Marc Durdin
fa654315ea chore: cleanup 2020-10-20 18:35:33 +11:00
Marc Durdin
0e2d4540e4 feat: debug settings manager
Introduces a new app that lists all available
debug settings in Keyman Desktop and Developer
with a single unified UI to manage them. This
comes because I (as lead dev) am always forgetting
what the various keys and values are and need a
better way to manage them.

For now, this is alpha-quality and I do not intend
to deploy it with 13.0
2020-10-20 18:35:32 +11:00
Marc Durdin
28cab959d6 chore(windows): update msgping to Winsdk 10 2020-10-20 18:34:33 +11:00
Marc Durdin
a176fc2734
Merge pull request #3716 from keymanapp/fix/developer/3715-crash-creating-project
fix(developer): crash creating basic project
2020-10-20 18:31:29 +11:00
Marc Durdin
3d324b20aa
Merge pull request #3719 from keymanapp/fix/windows/3694-tweak-scrolling-in-keyboard-menu
fix(windows): tweak scrolling in keyboard menu
2020-10-20 18:31:21 +11:00
Marc Durdin
a76b7f6d23
Merge pull request #3717 from keymanapp/fix/windows/3692-no-icons-in-config
fix(windows): icons missing in Configuration
2020-10-20 18:31:11 +11:00
Marc Durdin
9ab40d9b48 fix(windows): improve tsysinfo upload messages
If tsysinfo fails to upload a diagnostic report, give more detail on
what happened.
2020-10-20 18:18:57 +11:00
Marc Durdin
c45f4fafa0 fix(windows): setup status showed only 'removing older versions'
Fixes #3690.

This applies an 'Installing Keyman' label during the install. While
Windows Installer does supply some status messages, at present we are
not using those. Also fixed a missing i18n string.
2020-10-20 07:08:06 +11:00
Marc Durdin
929e32601c chore(windows): remove debug code 2020-10-19 16:33:59 +11:00
Marc Durdin
3935699262 fix(windows): tweak scrolling in keyboard menu
Fixes #3694.

The keyboard menu would sometimes scroll too far, which could be
confusing for the end user. This fix stops the scroll once the last
item is in view; it also tweaks the down arrow key handler to ensure
that the current item is correctly scrolled into view.
2020-10-19 16:31:08 +11:00
Marc Durdin
e28d1ca32a fix(windows): icons missing in Configuration
Fixes #3692.

Icons were missing in Configuration because the XML template was
initialised out of order.
2020-10-19 14:08:02 +11:00
Marc Durdin
2354970427 fix(developer): crash creating basic project
Fixes #3715.

This is a regression introduced in #1720.
2020-10-19 11:26:39 +11:00
Marc Durdin
bc7b667f4d fix(windows): RefreshKeyboards loses some profiles
When loading transient language profiles, RefreshKeyboards would reset
the list of profiles (and in so doing, also leak memory). Instead, the
list should be cleared before the initial language profile list load.
2020-10-19 08:38:25 +11:00
Marc Durdin
3edec559ec fix(windows): disabled keyboards listed in hotkeys
Fixes #2942.
2020-10-09 11:13:11 +11:00
Marc Durdin
6171a6d490 fix(windows): launch configuration non-elevated
Fixes #3679.

If keyman.exe is running with a non-elevated token, then it would fail
to launch kmshell.exe non-elevated. This is a regression from the work
in #3604.
2020-10-09 10:42:41 +11:00
Marc Durdin
3fbea54583 fix(windows): keyman desktop setup filename 2020-10-08 18:06:08 +11:00
Marc Durdin
875e699256 fix(windows): show version with tag in setup
Fixes #3680.

Note that because the installer version may differ from the Keyman
version that will actually be installed, the installer version number is
a bit hidden away in the Options dialog, to try and reduce potential for
confusion.

For example, if a user already has the installer downloaded, but a new
version of Keyman is available, then by default the installer will try
and download the new version rather than install the current version.
2020-10-08 15:23:35 +11:00
Marc Durdin
47adfac4f6 chore: address review comments 2020-10-08 15:21:35 +11:00
Marc Durdin
3c32267a50 chore: don't add tag to version in filenames
While it might be nice to add the tag to versions in filenames, this
creates a lot of work on the website where we make some filename
assumptions. So, this PR winds that detail of filename changes back,
and renames copydev.in to download.in to make it consistent with the
other download.in files.
2020-10-08 14:59:59 +11:00
Marc Durdin
c42eed6235 chore: address review comments 2020-10-08 14:25:14 +11:00
Marc Durdin
facf94df26 chore: address review comments 2020-10-08 13:59:16 +11:00
Marc Durdin
80db548432 chore: address review comments 2020-10-08 13:35:33 +11:00
Marc Durdin
4e18f9a531 chore: address review comments 2020-10-08 13:34:37 +11:00
Marc Durdin
cb579bd1d1 chore(windows): update RELEASE tags as well 2020-10-08 09:23:54 +11:00
Marc Durdin
c655c4eaf5 fix(windows): improve version numbers
Release build executables should have 3 component version numbers with
the version tag appended, e.g. keymandesktop-14.0.155-alpha-local.exe.

Coming later, rename keymandesktop-version.exe to keyman-version.exe.
2020-10-08 09:13:48 +11:00
Marc Durdin
e3a6805c6f
Merge pull request #3671 from keymanapp/fix/windows/ci-upload-help
fix(windows): update CI for publishing desktop help
2020-10-08 06:21:18 +11:00
Marc Durdin
ccdf820a5d
Merge pull request #3670 from keymanapp/fix/developer/ci-use-repo-tier-and-version
fix(developer): ci uses repo tier and version
2020-10-08 06:21:08 +11:00
Marc Durdin
f3d5fcbb28
Merge pull request #3668 from keymanapp/fix/windows/cherry-pick/3665-metro-apps-compat
fix(windows): Some registry keys could have incorrect permissions 🍒
2020-10-08 06:20:59 +11:00
Marc Durdin
7f4a4b5c87 fix(windows): update CI for publishing desktop help
This updates the build script to use the version data available in the
repository rather than relying on environment.
2020-10-07 16:06:22 +11:00
Marc Durdin
3319f5d29d fix: call to build.sh now has invalid variables 2020-10-07 14:34:35 +11:00
Marc Durdin
258e4b4eff fix(windows): Some registry keys could have incorrect permissions
Fixes #3665.

On some systems, subkeys of HKCU\Software\Keyman could have incorrect
permissions and these would not be corrected with earlier fixes such as
in #2316. This fix resolves the problem by recursively correcting
permissions on all subkeys, rather than just the top two levels.

This issue caused Metro-style applications (Windows Store apps) to fail
to accept Keyman keyboard input.
2020-10-07 11:50:37 +11:00
Marc Durdin
53a197fba5 chore(windows): Move to Windows SDK 10.0.17763.0
This removes the requirement for the Windows 8.1 SDK.
2020-10-05 14:11:34 +11:00
Marc Durdin
0275f13e6c
Merge pull request #3649 from keymanapp/fix/engine/coverity-keyman32
fix(windows): coverity reports for keyman32
2020-10-05 13:47:08 +11:00
Marc Durdin
1d4307b2e9
Merge pull request #3642 from keymanapp/fix/engine/coverity-kmtip
fix(windows): coverity reports for kmtip
2020-10-05 13:46:59 +11:00
Marc Durdin
c83eb6f727
Merge pull request #3641 from keymanapp/fix/engine/coverity-mcompile
fix(windows): coverity reports for mcompile
2020-10-05 13:46:49 +11:00
Marc Durdin
69b781561d
Merge pull request #3640 from keymanapp/fix/developer/coverity-compiler.cpp
fix(developer): coverity reports for compiler
2020-10-05 13:46:42 +11:00