Commit graph

83 commits

Author SHA1 Message Date
Tom Bogle
3e210d3e53 Call respondsToSelector before calling methods that might not be implemented. 2018-03-21 12:42:53 +07:00
Tom Bogle
71ed62558f If user presses command key, assume context may be out of date 2018-03-21 12:42:53 +07:00
Tom Bogle
9c368664ba Documented infelicity with config window if user clicks NO 2018-03-21 12:21:48 +07:00
Tom Bogle
f341b7fb7b Removed commented out code and moved comments to correct location. 2018-03-21 08:17:59 +07:00
Tom Bogle
bf542eab76 Change to ensure config window does not pop up ininvited. 2018-03-20 16:13:40 +07:00
Tom Bogle
92442c25e6 Successful code to show config window IFF user chooses to install 2018-03-20 14:26:14 +07:00
Tom Bogle
0538bd29ef WIP: Moved code to release presenter so it happens either way. 2018-03-20 13:53:34 +07:00
Tom Bogle
925dad3a56 [Mac] WIP - attempt to prevent auto display of config window and locking KMP file 2018-03-19 03:26:28 -04:00
Tom Bogle
904447ae18 Removed unnecessary event taps for "other" mouse button.
Also deleted commented-out code.
2018-03-05 15:14:12 -05:00
Tom Bogle
fef69ced96 Removed commented out code and fixed a typo. 2018-03-02 01:32:26 -05:00
Tom Bogle
98ad59a86c Removed commented-out code 2018-03-02 01:22:03 -05:00
Tom Bogle
f06ca65c31 [WIP] Use low-level mouse events to detect likely context changes
Replaced logic in updateContextBufferIfNeeded to be based on tapping of low-level mouse events instead of relying on list of clients that might have unexpected selection changes.
2018-03-02 01:22:03 -05:00
Tom Bogle
594eda09b1 [WIP] Beginning of logic to detect low-level events that may signal a context change. 2018-03-02 01:22:03 -05:00
Tom Bogle
fe8fccbf51 Limited context to 80 chars in KMInputMethodBrowserClientEventHandler
I had previously made a change to do this in the base class but overloooked that it was also a factor in this subclass, so I refactored a little to have a single method  in the base class that handles this. (Note: the base class method also checks to be sure that the client responds to the attributedSubstringFromRange method before calling it. This used to be done only in the subclass, but it seems like a useful safeguard in case some other client fails to implement this.
2018-03-01 12:07:13 -05:00
Tom Bogle
846dacd889 Limited context to a maximum of 80 characters
This improves performance and prevents failures in some apps, which return no context at all if the total document size is too great.
2018-02-28 02:09:33 -05:00
Tom Bogle
b6f0a5deae Removed commented out code 2018-02-15 11:15:15 -05:00
Tom Bogle
abb2010482 When KMP is unzipped, all keyboards now selected as active automatically 2018-02-14 22:48:39 -05:00
Tom Bogle
7ea1188d8c Fixed ATS problem with support dialog
It was not using https
2018-02-14 22:47:13 -05:00
Tom Bogle
f97856f4d0 Added prompt to ask user whether to install KMP & opened config window
Also fixed issue to prevent duplicate copies of KMP getting installed and added some debugging info.
2018-02-14 14:12:53 -05:00
Tom Bogle
835782fd7e Updated version number and copyright year.
This isn't really related to this PR, but I didn't want it to fall through the cracks.
2018-02-14 14:10:16 -05:00
Tom Bogle
b13af7bd10 Working implementation of kmp file association
There is no UI feedback and the newly added keyboard is not selected (checked) by default.
2018-02-13 15:44:33 -05:00
Tom Bogle
30adeb61bd WIP: Non-working explaratory code for associating KMP with Keyman IM 2018-02-13 13:41:33 -05:00
Marc Durdin
8c6eadb899 Fixup url and log download keyboard attempt 2018-02-12 20:30:53 +07:00
Marc Durdin
a7b2352304 In progress, changeover to using version and new url in download dialog 2018-02-12 19:41:58 +07:00
Tom Bogle
47cd28e523 Changed deployment target version to 10.7 for test target
This prevents compiler warnings for deprecated methods/properties.
2018-02-07 09:59:24 -05:00
Tom Bogle
8fc9cf8129 [Mac] Removed commented out code
These were changes I made but failed to stage in my final commit for the PR 550.
2018-02-06 22:32:58 -05:00
Tom Bogle
8991d0076d Removed commented out code.
Also added a couple TODO comments not actually related to the work in this branch.
2018-02-06 22:21:04 -05:00
Tom Bogle
6c0d65298c Made IM test target copy OCMocks to Frameworks folder of test bundle. 2018-02-05 09:58:02 -05:00
Tom Bogle
5a6533525d Reverted some previous changes now unnecessary
This might fix the build problem on TeamCity
2018-02-02 13:51:20 -05:00
Tom Bogle
bcc527f696 Fixed up all the plumbing issues with unit tests for Keyman4MacIM 2018-02-02 13:35:42 -05:00
Tom Bogle
a41286a051 Changed test target to manual signing. 2018-01-31 12:08:16 -05:00
Tom Bogle
59b38a418e Use Carthage to pull OCMocks framework and added KMX file for testing 2018-01-30 12:19:29 -05:00
Tom Bogle
5f83ddeed6 [WIP] Added changes to use OCMocks to make unit test meaningful
This commit breaks compilation because it does not include the code to pull and build the OCMocks framework.
2018-01-29 22:24:43 -05:00
Tom Bogle
0cf3cee56b Removed call to [sender length] and debug call to [sender markedRange]
Turns out that length is not really a supported method/property on IMKTextInput, and it returns unreliable information. (It appears that perhaps this was actually causing Word to work incorrectly.) The diagnostic call to markedRange was pointless since Keyman keyboards to not compose text in this way.
2018-01-29 22:21:04 -05:00
Tom Bogle
8b0687d177 Added guards around all headers to prevent duplicate imports 2018-01-29 14:01:33 -05:00
Tom Bogle
c2d7d3a8d0 Removed duplicate import that was causing linker failure. 2018-01-29 10:44:27 -05:00
Tom Bogle
eb7cab176f Added plumbing for unit testing IM.
This also slightly simplifies the logic in build.sh and even opens the possiblity of unit tests for the test app if that were ever to be desirable.
2018-01-26 12:31:38 -05:00
Tom Bogle
db9475e0c6 Solved the chirality problem on Mac (#178)
Also made the Scheme for the IM build shared in preparation for adding unit tests to thta project.
2018-01-25 00:00:44 -05:00
Tom Bogle
d9ef95f02b WIP: Implement chirality using CGEvent
Doesn't build
2018-01-24 09:26:17 -05:00
Tom Bogle
c3a6b1415f Set debugMode back to NO. 2018-01-18 14:09:50 -05:00
Tom Bogle
e42626d229 Permanently removed Chrome-specific behavior. 2018-01-12 14:34:20 -05:00
Tom Bogle
0d7a519220 Commented out Chrome-specific code (possibly temporary) 2018-01-12 11:52:44 -05:00
Tom Bogle
78be3af7d3 Fixed Chrome bug: MS Word sometimes treated like Google Docs 2018-01-12 09:30:09 -05:00
Tom Bogle
595b866038 Fixed Chrome bug from previous refactoring step
Check for special "insert characters individually" logic was backwards.
2018-01-11 13:21:52 -05:00
Tom Bogle
72cef42d25 Broke up long methods
Major refactoring to break long methods up by factoring out into meaningful sub-methods. Also removed small amount of unused code left over from previous refactoring step.
2018-01-11 12:58:52 -05:00
Tom Bogle
50cd075d03 Split browser-specific code into separate subclasses
Safari and Chrome get their own subclasses, but I need to compare performance.
2018-01-09 15:52:14 -05:00
Tom Bogle
0f091f9705 Commented out code for firefox
Added (and then commented out) code to have Firefox pretend not to change selection without reporting. Ths code improves some things but makes other things worse. I need to compare it to behavior before refactoring.
2018-01-08 22:22:57 -05:00
Tom Bogle
3ef48599f6 Cmd-A in Safari, insert chars individually in Chrome
Added logic to correct bug in Safari Google Docs introduced a few months back to clear selection after replacement. Refactored code and fixed bug to correctly handle Chrome's need to replace characters individually.
2018-01-08 21:35:28 -05:00
Tom Bogle
e716f42038 Google Chrome pending chars logic -> BrowserClientEventHandler.
Moved special logic for dealing with pending character buffer in Google Chrome into the BrowserClientEventHandler.
2018-01-08 15:12:39 -05:00
Tom Bogle
6176310073 Broke out browser client support into subclass
There is a problem with Google Docs in Safari now - did I break something?
2018-01-05 15:51:08 -05:00