Commit Graph

1923 Commits

Author SHA1 Message Date
zonble 169d03ab9b Minor changes on the associated phrases.
1. Removes the tooltip on the candidate window to make the exprience
   looks like OpenVanilla.
2. Adds a Shift key symbol on the key label.
2022-01-31 14:16:16 +08:00
zonble 2ebc789030 Implements the associated phrases function.
Since we use states manage the input flow in McBopomofo, implementing this function becomes easy. What I did is to create a new state, Associated Phrases state, and let the key handler to emit such a state just after emitting a Committing state.

When the input method controller is under Associated Phrase state, it shows the candidate window with a tooltip, and only accept candidate keys with the shift key. The key handler uses the characters without modifiers in an NSEvent object to find if there is any matching candidate label, so I added a new member "inputTextIgnoringModifiers" to KeyHandlerInput.

I use KeyValueBlobReader to read the associated phrases. I use the cin file from OpenVanilla project but removed the head and tail of the file to pass KeyValueBlobReader's validation.
2022-01-31 13:23:49 +08:00
Lukhnos Liu 2dd398f6ca Merge pull request #264 from zonble/dev/fseventstream
Loads the user phrases just after the files are changes.
2022-01-30 13:37:17 -08:00
Lukhnos Liu e9bb086a11 Merge pull request #265 from zonble/master
Fixes the bug that Shift+Space did not commit current composing buffer.
2022-01-30 13:36:07 -08:00
zonble 3851f91d6c Fixes the bug that Shift+Space did not commit current composing buffer. 2022-01-31 04:47:45 +08:00
zonble 1c339c622e Loads the user phrases just after the files are changes.
The revision uses a FSEventStream to monitor the change of the folder
that stores user phrases.
2022-01-31 04:29:53 +08:00
Weizhong Yang a.k.a zonble 3099798195 Merge pull request #261 from zonble/master
Converts the input controller to Swift
2022-01-30 20:41:49 +08:00
zonble c59560dba2 Fixes the behavior to use ESC to clear the input buffer area. 2022-01-30 20:37:05 +08:00
zonble 8ba4b9dfdf Prevents loading data models repeatedly. 2022-01-30 20:27:33 +08:00
zonble fe67daceee Modifies the interface of LanguageModelManager to note that some methods are for testing only. 2022-01-30 20:18:43 +08:00
zonble 0b7fa06d0b Fixes test cases. 2022-01-30 20:06:57 +08:00
zonble ae9b524caa Updates the descriptions of the states. 2022-01-30 09:28:26 +08:00
zonble 4681465a68 Fixes a typo. 2022-01-30 08:53:59 +08:00
zonble 5ba7365cd3 Fixes typos. 2022-01-30 08:26:32 +08:00
zonble 8a05e4d6f7 Makes variables in LanguageModelManager static. 2022-01-30 08:18:45 +08:00
zonble 5e19e70c70 Fixes a typo. 2022-01-30 08:07:34 +08:00
zonble 2c0a12f43f Lazy loads language models. 2022-01-30 08:06:22 +08:00
zonble c3d953c618 Converts input mode into a typed enum. 2022-01-30 08:06:22 +08:00
zonble 0b1975bfeb Converts test cases to Swift. 2022-01-30 08:06:22 +08:00
zonble bce641608b Updates the copyright title and the README file. 2022-01-30 08:06:22 +08:00
zonble 4466564e25 Gives a minial cell size in the horizontal candidate window.
It prevents the size of the window from being always changing when using
the punctuation list.
2022-01-30 08:06:22 +08:00
zonble 4c358c1c1d Converts InputMethodController to Swift. 2022-01-30 08:06:22 +08:00
Weizhong Yang a.k.a zonble 74cd93f6ca Merge pull request #259 from zonble/input_fsm 2022-01-29 11:43:10 +08:00
zonble 19541101ec Adds tests. 2022-01-28 21:29:36 +08:00
zonble 485925634a Adds unit tests for the key handler. 2022-01-28 20:43:43 +08:00
zonble bb4550b9da Notifies if half-size punctuation is on or off. 2022-01-28 19:37:38 +08:00
zonble 220696a70d Adds a hotkey to toggle half/full width punctuation. 2022-01-28 19:30:43 +08:00
zonble 464a54f98a Also uses the backspace key to cancel candidate in smart BPMF mode.
Going and Chewing also use backspace to do this.
2022-01-28 19:23:55 +08:00
zonble c3304bc5f7 Allows users to input letters when candidate window is open in plain BPMF mode. 2022-01-28 19:10:01 +08:00
zonble 43eef1fc1f Suppresses a log. 2022-01-28 18:56:51 +08:00
zonble 618065b881 Fixes the state from handling enter in plain BPMF mode. 2022-01-28 18:55:58 +08:00
zonble 439bb99ef5 Removes logs. 2022-01-28 17:53:32 +08:00
zonble 75dc93a2ce Fixes the position of the tooltip. 2022-01-28 17:04:07 +08:00
zonble ee521b6ee2 Fixes the behavior of the delete and backspace key. 2022-01-28 16:59:28 +08:00
zonble 9612aa6ba0 Code clean-up. 2022-01-28 16:51:25 +08:00
zonble b13da10ec0 Code clean-up. 2022-01-28 16:16:52 +08:00
zonble 0bc9468ba2 Splits Input Method controller into two classes. 2022-01-28 15:02:00 +08:00
zonble dd803b6c31 Removes logs and add copyright information. 2022-01-28 04:40:53 +08:00
zonble 056ffeabfd Tunes the interface. 2022-01-28 04:04:44 +08:00
zonble 7ee955a55c Cleans-up KeyHandlerInput. 2022-01-28 03:24:06 +08:00
zonble 87702f76c5 Cleans-up the interface. 2022-01-28 03:18:10 +08:00
zonble e17d06fd2a Fixes the cursor index when choosing candidates. 2022-01-28 01:58:25 +08:00
zonble 9351d877ba Fixes the issue on presenting the candidate window. 2022-01-28 01:44:50 +08:00
zonble fc0c077193 Fixes the bug on handling arrow keys. 2022-01-28 01:35:15 +08:00
zonble 2bbaa4a793 Fixes NSCoding exceptions. 2022-01-28 00:23:31 +08:00
zonble 56c393cefa Prevents using global state as possible. 2022-01-27 23:19:27 +08:00
zonble 1ad9e23918 Refactors the input controller. 2022-01-27 22:54:53 +08:00
zonble 6fe2fc59f3 Moves the way to render attributed string to the states. 2022-01-24 21:47:24 +08:00
zonble 82a916c433 Adds a new file KeyHandler.swift to start to break input controller to testable modules. 2022-01-24 17:46:34 +08:00
zonble 177cba5d56 [WIP] Starts to extract input states from the input controller. 2022-01-24 02:13:18 +08:00