ShikiSuen
8d541ddde0
Repo // App Icon Update - 2022 Fall.
2022-12-17 14:49:05 +08:00
ShikiSuen
3c5b82750b
PrefUI // Tweak contentMaxHeight.
2022-12-17 14:49:05 +08:00
ShikiSuen
b8ddfcabbf
SessionCtl // Remove useless delegate symbols, etc.
2022-12-17 14:49:05 +08:00
ShikiSuen
216fe6e1ba
Repo // "ctlInputMethod" -> "SessionCtl".
2022-12-17 14:49:05 +08:00
ShikiSuen
5815a49359
Repo // Simplify certain naming methods.
2022-12-17 14:49:05 +08:00
ShikiSuen
e9137b9e53
CtlCandidate(s) // Refactor with partial packaging.
...
- The CtlCandidateIMK is not package-able due to its utilization of bridging-header. There is no workaround available at this moment.
2022-12-17 14:49:05 +08:00
ShikiSuen
0041c3d669
KeyHandler // Remove unnecessary comments.
2022-12-17 14:49:05 +08:00
ShikiSuen
690df020bd
IMKCandidates // Reorganization.
2022-12-17 14:49:05 +08:00
ShikiSuen
0ce0604c16
IMKCandidates // Move its key handling process to ctlIME.
2022-12-17 14:49:05 +08:00
ShikiSuen
7c3d90dc80
LMI // Introducing hasKeyValuePairFor(), using it in LMMgr.
2022-12-17 14:49:05 +08:00
ShikiSuen
dbd7dc92a1
PCB // Pack PopupCompositionBuffer into Swift package.
2022-12-17 14:49:05 +08:00
ShikiSuen
1648152b24
Repo // Move IMEState-related protocols to Shared package.
2022-12-17 14:49:05 +08:00
ShikiSuen
cab7eb28f7
IMEState // Make certain data components directly accessible.
2022-12-17 14:49:05 +08:00
ShikiSuen
abec924d16
TooltipUI // Pack ctlTooltip into a package.
2022-12-17 14:49:05 +08:00
ShikiSuen
a5874a1cfd
ctlIME // Update notifications for toggling alphanumerical modes.
2022-12-17 14:49:05 +08:00
ShikiSuen
1f5481a8d4
NotifierUI // Refactor into a standalone package.
2022-12-17 14:49:05 +08:00
ShikiSuen
d8fb9aee1d
ICB // Utilizing NSAttributedString.length.
2022-12-17 14:49:05 +08:00
ShikiSuen
827e7e4735
ctlIME // Simplify isASCIIMode toggling.
2022-12-17 14:49:05 +08:00
ShikiSuen
e577135079
ctlIME // Omit event input if isASCIIMode.
2022-12-17 14:49:05 +08:00
ShikiSuen
a026c39425
PrefWindow // Apply NSGridView.
2022-12-17 14:49:05 +08:00
ShikiSuen
ff0c082754
Main // Simplify the processing of the connection name.
2022-12-17 14:49:04 +08:00
ShikiSuen
7d05bcf1ff
PrefMgr // Split its extension to a standalone file.
2022-12-17 14:49:04 +08:00
ShikiSuen
0477c6e2da
PrefUI // +onlyLoadFactoryLangModelsIfNeeded.
2022-12-17 14:49:04 +08:00
ShikiSuen
b747dd063e
PrefWindow // +onlyLoadFactoryLangModelsIfNeeded.
2022-12-17 14:49:04 +08:00
ShikiSuen
50396a42c6
Prefs // +onlyLoadFactoryLangModelsIfNeeded.
2022-12-17 14:49:04 +08:00
ShikiSuen
e1648fc1a7
PrefMgr // Remove unnecessary GCD.
2022-12-17 14:49:04 +08:00
ShikiSuen
d5ce4f29ad
LMMgr // Also use GCD in loadDataModels() per input mode.
2022-12-17 14:49:04 +08:00
ShikiSuen
2a22117bad
LMMgr // Use GCD in loadDataModelsOnAppDelegate().
2022-12-17 14:49:04 +08:00
ShikiSuen
f80c13331d
Repo // Pack InputMode typedefs into Shared package.
2022-12-17 14:49:04 +08:00
ShikiSuen
a4a37feb16
LMMgr // Use GCD in saveUserOverrideModelData().
2022-12-17 14:49:04 +08:00
ShikiSuen
cf025b2b52
NotifierUI // Redefine how a notifier gets triggered.
...
- The previous approach is not compatible with Grand Central Dispatch.
2022-12-17 14:49:04 +08:00
ShikiSuen
03d4099894
KeyHandler // Use PrefMgrProtocol delegate to handle UserDefaults.
2022-12-17 14:49:04 +08:00
ShikiSuen
9d077a9d49
Repo // Massive refactor & renovation.
...
- This commit is a massive refactor update towards the current vChewing codebase, modernizing the entire project structure.
- Put things into packages to boost compile speed.
- Also: IMKCandidates // macOS 10.13 High Sierra compatibility.
- ctlIME // Remove duplicated setValue().
2022-12-17 14:49:04 +08:00
ShikiSuen
498ddcc153
Starting from vChewing 2.6.2 SP3.
2022-12-17 14:32:15 +08:00
ShikiSuen
ce6e8453e7
Removing everything.
2022-12-17 14:23:03 +08:00
ShikiSuen
12abcd02a9
Replacing data to libvchewing-data (v3.1.1); Requiring >= macOS 10.13.
...
- The data replacement is to make sure it is allowed to be hosted in GitLab China and Gitee.
- Xcode 14 does not support targets earlier than macOS 10.13.
2022-12-17 14:20:50 +08:00
zonble
8de659f50b
Adds an example for a symbol table in tree structure.
2022-12-17 14:03:10 +08:00
Lukhnos Liu
ddbe363134
Bump version to 2.2.2
2022-02-20 08:34:07 -08:00
Lukhnos Liu
ea477d6c5b
Fix cpplint
2022-02-20 08:11:12 -08:00
Lukhnos Liu
e892628492
Remove all the "inFoo" in-param style
...
We don't use out-params in Gramambular, but even for them the best
practices have been converging on using "T& param" for required output
param and "T* param" for optional output param. At any rate the prefix
was never necessary, and hence the removal.
2022-02-20 08:11:11 -08:00
Lukhnos Liu
26ad5fd5ea
Move dumpDOT to Grid.cpp
2022-02-20 08:11:10 -08:00
Lukhnos Liu
13609f41f5
Remove all the "using namespace" usage
2022-02-20 08:11:09 -08:00
Lukhnos Liu
d3302ef70a
Reformat Gramambular with clang-format
2022-02-20 08:11:08 -08:00
Lukhnos Liu
d4d8d14004
Import the test code from Formosana
2022-02-20 08:11:07 -08:00
Lukhnos Liu
305c874003
Supply a CMake project and a trivial unit test
2022-02-20 08:11:03 -08:00
Lukhnos Liu
dc6ef93d72
Remove the "using namespace" usage in McBopomofo
2022-02-19 10:00:28 -08:00
Lukhnos Liu
2091c1dc7d
Format ObjC code with clang-format, WebKit style
2022-02-19 08:26:28 -08:00
Lukhnos Liu
ca2f4bf8fd
Delete the dead tistool.m
2022-02-19 08:26:08 -08:00
Lukhnos Liu
ea2e76e107
Handle [A-Z] if input state is not empty ( #292 )
...
This fixes the regression, first introduced in 2.2, from 2.0.x behavior.
2022-02-16 00:15:40 -08:00
Lukhnos Liu
4aaef97296
Remove the Terminal.app workaround
...
It was needed in the early days of McBopomofo, but is no longer so.
2022-02-14 21:07:24 -08:00
Lukhnos Liu
d9e1417fa1
Bump version to 2.2.1
2022-02-14 19:50:01 -08:00
Lukhnos Liu
b4704ff7e4
Merge pull request #289 from zonble/master
...
Fixes an Swift type conversion issue which happens while typing in Terminal app
2022-02-14 19:48:44 -08:00
zonble
e85a33ce15
Fixes an Swift type conversion issue which happens while typing in Terminal app.
...
Fixes #288 .
2022-02-15 10:57:06 +08:00
Lukhnos Liu
a00d34241d
Bump to version 2.2
2022-02-14 00:40:55 -08:00
Lukhnos Liu
0697d8b233
Fix path bugs in ArchiveUtil
2022-02-14 00:39:40 -08:00
Lukhnos Liu
39a9330969
Typo fix
2022-02-13 22:49:51 -08:00
Lukhnos Liu
c2f45c2060
Make the half-width punctuations toggle work again
2022-02-13 19:22:45 -08:00
Lukhnos Liu
5d6659ef19
Rename associated-phrases.cin to associated-phrases.txt
...
Since the file doesn't really contain any .cin directives.
2022-02-13 19:16:37 -08:00
Lukhnos Liu
ec98acc0b6
UI strings copyediting
2022-02-13 19:02:06 -08:00
Lukhnos Liu
02a475197d
Move the Preferences menu item to the last group
...
So that it's closer to Check for Updates and About McBopomofo.
2022-02-13 18:40:46 -08:00
Lukhnos Liu
21fe0af085
Credits.rtf copyediting
2022-02-13 18:36:51 -08:00
Weizhong Yang a.k.a zonble
6122eeee15
Merge pull request #283 from lukhnos/bopomofo-refactoring
...
Bopomofo refactoring
2022-02-14 02:04:18 +08:00
zonble
b5d9ce60bf
Prevents the override model to remember symbols with scode -8 or lower.
2022-02-14 01:38:26 +08:00
Lukhnos Liu
a55c0a4b60
Remove the absolute order format
...
The "absolute order" is a compact representation, originally a
historical carry-over from VanillaInput (2004). Modern input methods
no longer need such a compact form. It is therefore now removed.
2022-02-13 09:21:58 -08:00
Lukhnos Liu
502e8f1ea9
Remove an unused Romanization scheme
2022-02-13 09:21:44 -08:00
zonble
4d94bb0cd2
Automatically uses vertical candidate list if there is a long candidate.
2022-02-14 01:01:03 +08:00
zonble
83184229e6
Hides the function that using Ctrl+Enter to output BPMF readings.
2022-02-13 23:05:59 +08:00
zonble
11caa62b5d
Prevents the user override model to store symbols.
2022-02-13 22:57:13 +08:00
zonble
f32689eede
Adds symbols.
2022-02-13 22:40:44 +08:00
zonble
08b92ae53b
Fixes a typo.
2022-02-04 21:39:31 +08:00
zonble
dc24de2ccb
Notifies the users not to add duplicated phrases.
2022-02-04 05:46:31 +08:00
zonble
472b149020
Adds tests.
2022-02-04 05:19:25 +08:00
zonble
ccfb97e7c5
Fixes the bug that the state was not reset if marking range is zero.
2022-02-04 04:33:49 +08:00
zonble
bfa272ac65
Minor fix on the function to move cursor after selection.
2022-02-04 00:09:44 +08:00
zonble
9ade7d16a9
Adds an setting to move the cursor after selecting a candidate.
...
The setting only works when "SelectPhraseAfterCursorAsCandidate" is also
on. When a user use the mode, it is very possible that he or she has
already something in the input buffer and go back to choose a candidate.
When he or she completes selection, the user may want to go back to the
end and continue inputting. The setting is a time saver.
2022-02-04 00:03:16 +08:00
zonble
2880394812
Fixes a minor bug on handling backspace key.
2022-02-03 01:49:41 +08:00
Lukhnos Liu
c18f497a55
Use backward-compatible Swift in certain places
...
Older Swift compiler does not allow declaring certain variables that
have the same names with those outside of their scope, even though the
scoping rules should allow them. This makes the code buildable with
Xcode 12.4 again.
2022-02-02 09:32:02 -08:00
zonble
a567ad0e65
Updates copyright info.
2022-02-03 01:20:35 +08:00
zonble
ff9664c7f1
Fixes a typo.
2022-02-03 01:10:51 +08:00
zonble
d4173bd931
Bug fixes on the marking state.
...
When the length of the range become to 0, the controller should go back
to inputting state.
2022-02-03 01:07:54 +08:00
zonble
e9707b5427
Merge branch 'master' of github.com:openvanilla/McBopomofo
2022-02-03 00:06:03 +08:00
zonble
b5220cbfe3
Add tests.
2022-02-03 00:02:23 +08:00
Lukhnos Liu
68732e6b15
Merge pull request #271 from zonble/dev/tests
...
Adds unit test cases for the key handler
2022-02-02 07:52:10 -08:00
zonble
f39b4fa0bc
Moves the Swift StringUtils class to a Swift package.
2022-02-02 22:47:15 +08:00
zonble
56ced2dd0f
Adds test cases.
2022-02-02 21:25:51 +08:00
zonble
44ecf223d7
Adds test cases.
2022-02-02 21:10:26 +08:00
zonble
cac954a00b
Updates test cases.
2022-02-02 20:29:23 +08:00
zonble
5849478fe5
Removes the dependency on OpenVanilla.
2022-02-02 18:07:41 +08:00
zonble
4743889e2f
Removes the usage of OVUTF8Helper in the key handler.
2022-02-02 17:58:45 +08:00
Weizhong Yang a.k.a zonble
8e1e3d184b
Merge pull request #269 from lukhnos/mandarin-refactoring
...
Refactor the Bopomofo syllable library for better thread safety
2022-02-02 17:57:14 +08:00
Lukhnos Liu
55971131f0
Expand tests
2022-02-01 18:41:24 -08:00
Lukhnos Liu
f591a4668c
Use thread-safe init for keyboard layouts
2022-02-01 18:41:20 -08:00
Lukhnos Liu
44f6167a38
Use C++ UTF-8 literals and remove MSVC escapes
2022-02-01 18:41:14 -08:00
Lukhnos Liu
385fd34476
Rename member variables
2022-02-01 18:41:09 -08:00
Lukhnos Liu
2f567cddc2
Use constexpr for Bopomofo Components
2022-02-01 18:41:02 -08:00
Lukhnos Liu
f4a0f2fe93
Update copyright headers and include guard
2022-02-01 18:40:56 -08:00
Lukhnos Liu
a455aef587
Fix most cpplint warnings
2022-02-01 18:40:50 -08:00
Lukhnos Liu
f0222c023d
Use default copy/move ctors and assignment ops
2022-02-01 18:40:43 -08:00
Lukhnos Liu
aa27cbbb02
Remove the "using namespace std;" usage
2022-02-01 18:40:39 -08:00
Lukhnos Liu
71b69cae50
Reformat with clang-format
2022-02-01 18:40:33 -08:00
Lukhnos Liu
4ebe1a1a11
Remove OpenVanilla dependencies
...
This removes one overengineered method from BopomofoSyllable and
rewrites a helper using a simpler UTF-8 heuristics.
Also adds the CMake project file and a unit test suite.
2022-02-01 18:40:18 -08:00
zonble
49f998ad5d
Adds tests.
2022-02-02 07:24:47 +08:00
zonble
9c8d740fc6
Adds tests.
2022-02-02 07:24:47 +08:00
zonble
118a1243de
Removes unused lines.
2022-02-02 06:02:44 +08:00
zonble
bd291be340
Removes a log.
2022-02-02 01:33:22 +08:00
zonble
cbdbfa2518
Prevents the key handler to see reserved keys like page up/down as BPMF keys.
2022-02-02 01:31:53 +08:00
zonble
5afc5defdd
Shows a tooltip when then cursor in a phrase whose length and count of readings do not match.
...
McBopomofo allows users to input pheases with a different length of the
characters and Bopomofo readings, for example, users can input ∴ with ㄙㄨㄛˇ-ㄧˇ.
When the cursor if between ㄙㄨㄛˇ and ㄧˇ, the users have no clue where
the cursor exactly is. The tooltip is to tell the users the cursor is
now betwen ㄙㄨㄛˇ and ㄧˇ.
2022-02-02 01:04:49 +08:00
zonble
82dbed7815
Fixes a crash on adding user phrases.
2022-02-01 08:41:36 +08:00
zonble
347560e36b
Disables adding phrases with shift-arraw keys when the length of the composing buffer and readings do not match.
2022-02-01 08:11:09 +08:00
zonble
74509ce3cb
Corrects the selection range while using Shift + Arrow keys to add new phrases.
2022-02-01 06:18:40 +08:00
zonble
536c9d1fc7
Adds some punctuations using control key.
...
It allows users ever use Microsoft Bopomofo to input punctuations using
keys like ctrl + comma.
2022-02-01 02:32:55 +08:00
zonble
8573332879
Removes unused localization.
2022-01-31 23:42:02 +08:00
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
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
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
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
4c358c1c1d
Converts InputMethodController to Swift.
2022-01-30 08:06:22 +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