ShikiSuen
e499437f2c
LMMgr // Lazy-reload UserPhrasesData when writing phrases.
...
- Make loadUserPhrasesData() more precise.
2022-12-17 15:14:22 +08:00
ShikiSuen
4d03773b1a
CtlClientListMgr // Move callAlert() to CocoaExtension.
2022-12-17 15:14:22 +08:00
ShikiSuen
bf4f3a22fb
InputHandler // Implement Ctrl+Shift+Command+Enter feature.
2022-12-17 15:14:22 +08:00
ShikiSuen
63d56d8132
Repo // Enforce NSApp.activate() instead.
2022-12-17 15:14:22 +08:00
ShikiSuen
94105ccc9b
PrefUI // Remove a button useless since this version.
2022-12-17 15:14:22 +08:00
ShikiSuen
5c4962c1c3
Repo // Update CNS data last-checked timestamp to 20221201.
2022-12-17 15:14:22 +08:00
ShikiSuen
82f7b2477a
SessionCtl // Do currentLM.insertTemporaryData() when necessary.
2022-12-17 15:14:22 +08:00
ShikiSuen
5a23c63cfb
SessionCtl // Apply updateUnigramData().
2022-12-17 15:14:22 +08:00
ShikiSuen
3cc7972613
InputHandler // Add updateUnigramData().
2022-12-17 15:14:22 +08:00
ShikiSuen
d870d5ad2a
InputHandler // Expose generateStateOfCandidates().
2022-12-17 15:14:22 +08:00
ShikiSuen
326b22b35a
SessionCtl // Improve the handling of isVerticalTyping().
2022-12-17 15:14:22 +08:00
ShikiSuen
0e98eb0d2c
SessionCtl // Add isServingIMEItself().
...
- Also monitoring activateServer() in console.
2022-12-17 15:14:22 +08:00
ShikiSuen
1d593b490f
SessionCtl // Add candidatePairRightClicked().
2022-12-17 15:14:22 +08:00
ShikiSuen
dd964b3c40
SessionCtl // +isCandidateContextMenuEnabled().
2022-12-17 15:14:22 +08:00
ShikiSuen
58bcea2507
SessionCtl // Add certain details among vCLog outputs.
2022-12-17 15:14:22 +08:00
ShikiSuen
197b6d69fd
SessionCtl // Reorder contents of inputMode.didSet().
...
- See the updated comments for reasons.
2022-12-17 15:14:22 +08:00
ShikiSuen
5a2b93bbe2
i18n // Fix: Successful in -> Succeeded in.
2022-12-17 15:14:22 +08:00
ShikiSuen
681a704ea4
AppDelegate // Boost memory limiter to 512MB.
2022-12-17 15:14:22 +08:00
ShikiSuen
15188f0eed
LMInstantiator // Stop duplicating LMCassette.
2022-12-17 15:14:22 +08:00
ShikiSuen
383a3dd658
Repo // Differentiate the colors among post-marking tooltips.
2022-12-17 15:14:22 +08:00
ShikiSuen
6ff42a8dbc
InputHandler // Specify display durations for tooltips.
2022-12-17 15:14:22 +08:00
ShikiSuen
1fe0442042
SessionCtl // Bind the tooltip display duration property.
2022-12-17 15:14:22 +08:00
ShikiSuen
401b79a831
IMEState // Add tooltip duration property.
2022-12-17 15:14:22 +08:00
ShikiSuen
1f7be00263
Repo // Enforcing file naming convention.
2022-12-17 15:14:22 +08:00
ShikiSuen
b8d6a828ba
SessionCtl // Nil the inputHandler for inactive sessions.
2022-12-17 15:14:22 +08:00
ShikiSuen
65462f4ad0
SessionCtl // Nil the candidateUI for inactive sessions.
...
- We don't nil the IMKCandidates on deinit() in order to avoid EXC_BAD_ACCESS error.
2022-12-17 15:14:22 +08:00
ShikiSuen
e313bda323
PrefUI // Add a UI toggle for phrase replacement mode.
2022-12-17 15:14:22 +08:00
ShikiSuen
7e57eb74c1
InputHandler // Allow committing composer / calligrapher contents.
...
- Requiring that the compositor is empty.
2022-12-17 15:14:22 +08:00
ShikiSuen
6f579fafd8
SessionCtl // Add isCandidateState().
2022-12-17 15:14:22 +08:00
ShikiSuen
0b2a046885
SessionCtl // ctlCandidateCurrent -> candidateUI.
2022-12-17 15:14:22 +08:00
ShikiSuen
06e984b6f9
SessionCtl // Enforce forceComposerCleanup() if necessary.
2022-12-17 15:14:22 +08:00
ShikiSuen
850a48b883
SessionCtl // Tweak resetInputHandler().
2022-12-17 15:14:22 +08:00
ShikiSuen
8043bd683c
InputHandler // Add sansReading() to generateStateOfInputting().
2022-12-17 15:14:22 +08:00
ShikiSuen
496264f108
InputHandler // Add isCompositorEmpty().
2022-12-17 15:14:22 +08:00
ShikiSuen
9fa7fff61a
SessionCtl // Bind shareAlphanumericalModeStatusAcrossClients().
2022-12-17 15:14:22 +08:00
ShikiSuen
e71f9ea2a3
PrefUI // Add shareAlphanumericalModeStatusAcrossClients().
2022-12-17 15:14:22 +08:00
ShikiSuen
951cca4956
PrefMgr // Add shareAlphanumericalModeStatusAcrossClients().
2022-12-17 15:14:22 +08:00
ShikiSuen
a0aa85a672
InputHandler // Prompt if succeeded in handling a marked phrase.
2022-12-17 15:14:22 +08:00
ShikiSuen
d432f36bc5
InputHandler // Stop breaking composition buffer in certain cases.
2022-12-17 15:14:22 +08:00
ShikiSuen
1057a3fe82
SessionCtl // Use an alternative way to keep IMKCandidates' visibility.
...
- We have no other way to solve the excessive-memory-usage problem without completely removing the instance container.
2022-12-17 15:14:22 +08:00
ShikiSuen
337cf84c8b
SessionCtl // Use NSMutableOrderedSet in lieu of Swift.Set.
2022-12-17 15:14:22 +08:00
ShikiSuen
fe41d16762
InputHandler // Comment fix.
2022-12-17 15:14:22 +08:00
ShikiSuen
89dd798771
SessionCtl // Check memory usage on activateServer().
2022-12-17 15:14:22 +08:00
ShikiSuen
38713d4aa9
AppDelegate // Add checkMemoryUsage().
2022-12-17 15:14:22 +08:00
ShikiSuen
49ba507c8d
AppDelegate // Reconstruction.
2022-12-17 15:14:22 +08:00
ShikiSuen
dca93cb6f0
PrefUI & PrefWindow // Stop force-unwrapping AppDelegate.
2022-12-17 15:14:22 +08:00
ShikiSuen
bd9a5c6c45
SessionCtl // Move some tasks from setValue() to activateServer().
2022-12-17 15:14:22 +08:00
ShikiSuen
11edfbddfb
SessionCtl // Do clearInlineDisplay() in commitComposition().
2022-12-17 15:14:22 +08:00
ShikiSuen
8216497382
SessionCtl // Remove duplicated commissions on deactivation.
2022-12-17 15:14:22 +08:00
ShikiSuen
d475973f4d
SessionCtl // Fix state correction in handle(event:).
2022-12-17 15:14:22 +08:00
ShikiSuen
d3fc057409
SessionCtl // Use newer resetInputHandler() in setValue().
2022-12-17 15:14:22 +08:00
ShikiSuen
ef06f7d039
SessionCtl // Remove UserDefaults.standard.synchronize().
2022-12-17 15:14:22 +08:00
ShikiSuen
45fc44eaf7
SessionCtl // Optimize resetInputHandler().
2022-12-17 15:14:22 +08:00
ShikiSuen
e3b16e9661
SessionCtl // Introduce forceCleanup() to resetInputHandler().
2022-12-17 15:14:22 +08:00
ShikiSuen
8f7d452a1d
SessionCtl // GCD the init() and IMK-related methods.
2022-12-17 15:14:22 +08:00
ShikiSuen
bd0fe1bacc
SessionCtl // Disable setMarkedText() on activateServer().
2022-12-17 15:14:22 +08:00
ShikiSuen
af218e9e7c
SessionCtl // Optimize setValue(), init(), and inputMode().
2022-12-17 15:14:22 +08:00
ShikiSuen
c9c2ab9064
SessionCtl // Mitigate .ofEmpty() state on activateServer().
...
- We don't handle it. We set it.
2022-12-17 15:14:22 +08:00
ShikiSuen
f57238f380
SessionCtl // Revamp setKeyLayout().
2022-12-17 15:14:22 +08:00
ShikiSuen
9fc54412cc
SessionCtl // Remove useless setKeyLayout() in menu.
...
- I forgot to remove this during vChewing 1.5.x~1.8.x.
2022-12-17 15:14:22 +08:00
ShikiSuen
4d213f569b
SessionCtl // Disable setMarkedText() on deactivateServer().
2022-12-17 15:14:22 +08:00
ShikiSuen
b203e46398
SessionCtl // Typo fix.
2022-12-17 15:14:22 +08:00
ShikiSuen
f984e3f521
CNS // Update date check tag to 20221004.
2022-12-17 15:14:22 +08:00
ShikiSuen
3c88b810bc
SwiftExtension // Add String.charDescriptions: [String], etc. ( #249 )
...
* SwiftExtension // Add String.charDescriptions: [String].
* SwiftExtension // Including certain SwiftUI extensions.
2022-12-17 15:14:21 +08:00
ShikiSuen
f8c722ce8e
InputHandler // Remove useless delegate.switchState(state). ( #248 )
2022-12-17 15:14:21 +08:00
ShikiSuen
8239a6502c
Menuicon // Use more-distinguishable alternatives. ( #230 )
2022-12-17 15:14:21 +08:00
ShikiSuen
1f2a14d856
SessionCtl // Hide previous candidate window before reinitiation. ( #246 )
2022-12-17 15:14:21 +08:00
ShikiSuen
5c537d3f16
InputHandler // Also allow opt+punct to reverse-flip candidates.
2022-12-17 15:14:21 +08:00
ShikiSuen
8b20b76689
InputHandler // Console log if alternative symbol menu is empty.
2022-12-17 15:14:21 +08:00
ShikiSuen
7fd63a1707
Manual // Typo fix, etc.
2022-12-17 15:14:21 +08:00
ShikiSuen
27063a6430
InputHandler // Fix a conversion error in handleCtrlCommandEnter().
2022-12-17 15:14:21 +08:00
ShikiSuen
5ae6fc9841
InputHandler // Again let Shift+Space commit FW space when ofEmpty().
2022-12-17 15:14:21 +08:00
ShikiSuen
47ab4867b1
Repo // Remove the useless .ofNotEmpty() state.
2022-12-17 15:14:21 +08:00
ShikiSuen
d8762d78a0
i18n // Unify the translation of "keyboard shortcuts".
2022-12-17 15:14:21 +08:00
ShikiSuen
2a320ee095
InputHandler // Correct the handling of tone1, etc. ( #217 )
2022-12-17 14:55:56 +08:00
ShikiSuen
cf2cefa754
PrefWindow // MandarinParser -> KeyboardParser. ( #216 )
2022-12-17 14:55:56 +08:00
ShikiSuen
a21e2c812c
Repo // Disabling pinyin-phonabet conversion in cassette mode. ( #215 )
...
- Also fix the separator conversion in handleCtrlCommandEnter().
2022-12-17 14:55:56 +08:00
ShikiSuen
6170743ed1
PrefUI // Localization fix.
2022-12-17 14:55:56 +08:00
ShikiSuen
ba3e1a99a5
Repo // Clear calligrapher together on resetInputHandler() ( #210 )
2022-12-17 14:55:56 +08:00
ShikiSuen
7c4f141286
InputHandler // Improve conditioning of triggering candidate window. ( #209 )
2022-12-17 14:55:56 +08:00
ShikiSuen
064b2fbe7d
InputHandler // Fix wrong conditioning of composeReading(), etc. ( #206 )
...
- Stop calling candidate window when the compositor is empty.
- Stop handling the simple input case of the intonation "tone1".
2022-12-17 14:55:56 +08:00
ShikiSuen
39834b3ec8
InputHandler // Show actual character text in debug console. ( #203 )
2022-12-17 14:55:56 +08:00
ShikiSuen
1e178e948f
Repo // Stop committing raw dynamic keylayout chars. ( #202 )
2022-12-17 14:55:56 +08:00
ShikiSuen
ae49ee81f3
SessionCtl // Optimize commission in resetInputHandler(). ( #199 )
2022-12-17 14:55:56 +08:00
ShikiSuen
5465fe16d2
InputHandler // Ensure commission of existing contents in certain cases. ( #198 )
...
- This fixes #194 and #195 .
2022-12-17 14:55:56 +08:00
ShikiSuen
d8442acec8
InputHandler // Remove newlines from generateStateOfInputting().
2022-12-17 14:54:50 +08:00
ShikiSuen
a4fac74c37
IMEStateData // Remove unwanted new lines in displayedText.
2022-12-17 14:54:50 +08:00
ShikiSuen
6fce25ed2c
SessionCtl // Stop committing unwanted newlines.
2022-12-17 14:54:50 +08:00
ShikiSuen
e35a5b246f
SessionCtl // Trim newlines among lookup results.
2022-12-17 14:54:50 +08:00
ShikiSuen
d9258192f5
Prefs // Add "AutoCombineLongestPossibleCassetteKey".
2022-12-17 14:54:50 +08:00
ShikiSuen
177100ba2c
InputHandler // Clear calligrapher if it is overflown.
2022-12-17 14:54:50 +08:00
ShikiSuen
c88c8bda64
LMCassette // Generate wildcard table even if wildcardKey is missing.
2022-12-17 14:54:49 +08:00
ShikiSuen
e47d5749e9
InputHandler // Let cassette mode respond to possible final key.
2022-12-17 14:54:49 +08:00
ShikiSuen
03236671af
SessionCtl // Sort lookup results according to their candidate amounts.
2022-12-17 14:54:49 +08:00
ShikiSuen
b8de232c3f
InputHandler // Handle results returned by compositor.insertKey().
2022-12-17 14:54:49 +08:00
ShikiSuen
11d2ce635d
SessionCtl // Attempt to do annotations with IMKCandidates.
2022-12-17 14:54:49 +08:00
ShikiSuen
5fbc2fb728
TDKCandidates // UI accommodation with long reverse-lookup results.
...
- Use array to handle reverse-lookup UI representation.
- Remove SessionCtl.annotate().
2022-12-17 14:54:49 +08:00
ShikiSuen
714632e1c8
SessionCtl // Stable-sort the lookup results.
2022-12-17 14:54:49 +08:00
ShikiSuen
7a4aa38df5
PrefUI // Simplify the usage of .help() backports.
2022-12-17 14:54:49 +08:00
ShikiSuen
d263719e64
Repo // Change the buzz() trigger with certain NSAlert instances.
2022-12-17 14:54:49 +08:00
ShikiSuen
3ca7410316
Repo // Stop using didSet in cassettePath property.
...
- It doesn't work in some cases.
2022-12-17 14:54:49 +08:00
ShikiSuen
f94ecf5fda
Repo // Implementing reverse-lookup, requiring macOS 10.15 and later.
...
- Prefs & PrefUI // Add reverse-lookup toggle.
2022-12-17 14:54:49 +08:00
ShikiSuen
6e67a5edc8
AppDelegate // Again always load cassette data on startup.
2022-12-17 14:54:49 +08:00
ShikiSuen
9e857b80d4
Repo // Turn currentLM and currentUOM into dynamic var.
2022-12-17 14:54:49 +08:00
ShikiSuen
60b3fcf625
PrefMgr // Remove redundant LMMgr.loadCassetteData().
2022-12-17 14:54:49 +08:00
ShikiSuen
78af4b72c2
SessionCtl // Add comments regarding upstream issue 346 and UPR347.
2022-12-17 14:54:49 +08:00
ShikiSuen
d35b958f16
SessionCtl // Disable reloading on hotkey-toggling cassette mode.
...
- ... unless it is not loaded.
2022-12-17 14:54:49 +08:00
ShikiSuen
d5fbcf5e2c
Repo // Comment updates.
2022-12-17 14:54:49 +08:00
ShikiSuen
234819030c
Repo // Fix informativeText localization when cassette path error.
2022-12-17 14:54:49 +08:00
ShikiSuen
baaa563c45
AppDelegate // Only load cassette on startup if it is enabled.
2022-12-17 14:54:49 +08:00
ShikiSuen
c5263bac1c
PrefMgr // Change default candidate font size back to 16.
2022-12-17 14:54:49 +08:00
ShikiSuen
9220c7f846
InputHandler // Implement wildcard key support.
...
- Let wildcard key function as the end key.
- Warns about incorrect wildcard key inputs.
2022-12-17 14:54:49 +08:00
ShikiSuen
4e124e6aac
Repo // Let tooltip window auto-disappear after given seconds.
2022-12-17 14:54:49 +08:00
ShikiSuen
751824feef
Repo // Better handling with tooltip colors.
2022-12-17 14:54:49 +08:00
ShikiSuen
6060cc4fbf
SessionCtl // Clear tooltip when necessary.
2022-12-17 14:54:49 +08:00
ShikiSuen
d1bd34ee43
SessionCtl // Show non-empty tooltip on .ofEmpty() state.
2022-12-17 14:54:49 +08:00
ShikiSuen
27061754d6
PrefUI & PrefWindow // Allow CIN2 & VCIN files to be selected.
2022-12-17 14:54:49 +08:00
ShikiSuen
dfcb99eebe
InputHandler // Force ASCII raw output in cassette mode.
2022-12-17 14:54:49 +08:00
ShikiSuen
f0866a816c
PrefUI & PrefWindow // Japanese localization fix.
2022-12-17 14:54:49 +08:00
ShikiSuen
b59b8d5345
LMMgr // Fix malfunctioned loadCassetteData().
2022-12-17 14:54:49 +08:00
ShikiSuen
da68e12ff3
CCBridge // Add vertical ellipse symbol conversion.
2022-12-17 14:54:49 +08:00
ShikiSuen
4a7d165ab6
PrefUI & PrefWindow // Add settings regarding cassette mode.
2022-12-17 14:54:49 +08:00
ShikiSuen
c0ef70fe0d
InputHandler // Implement stroke composition support.
2022-12-17 14:54:49 +08:00
ShikiSuen
23e02b9132
SessionCtl // Prompt cassette mode in TDK candidate window.
2022-12-17 14:54:49 +08:00
ShikiSuen
0b8a61d1ad
CheatSheet // Add hotkey descriptions regarding CIN cassette mode.
2022-12-17 14:54:49 +08:00
ShikiSuen
10695d6e63
SessionCtl // Add menu item for toggling cassette mode, etc.
2022-12-17 14:54:49 +08:00
ShikiSuen
49f9a3c995
SessionCtl // Force ABC layout if needed when Cassette mode is ON.
2022-12-17 14:54:49 +08:00
ShikiSuen
f2c5a5297a
Repo // LMMgr.loadCassetteData() when necessary.
2022-12-17 14:54:49 +08:00
ShikiSuen
1174a08360
LMMgr // Connecting properties regarding Cassette module.
2022-12-17 14:54:49 +08:00
ShikiSuen
c3757e2ac3
SessionCtl // Sync cassette mode status when necessary.
2022-12-17 14:54:49 +08:00
ShikiSuen
8e03fb2469
CCBridge // Add cassetteConvert().
2022-12-17 14:54:49 +08:00
ShikiSuen
8b8ebbf14f
Prefs // Add properties regarding Cassette module.
2022-12-17 14:54:49 +08:00
ShikiSuen
57d9c3f5e1
SessionCtl // Comment update.
2022-12-17 14:54:49 +08:00
ShikiSuen
9a3ecba927
PrefUI // Reload user lang models on enabling the monitor.
2022-12-17 14:54:49 +08:00
ShikiSuen
fa32d8ac93
Repo // Implementing macOS System Preferences pane.
2022-12-17 14:54:49 +08:00
ShikiSuen
a9c02f9904
Tekkon // hasToneMarker() -> hasIntonation().
2022-12-17 14:54:49 +08:00
ShikiSuen
77f071eef5
Repo // Preferences -> SSPreferences.
2022-12-17 14:54:49 +08:00
ShikiSuen
88b0726448
SessionCtl // Stop switching to certain states if not prompted to.
2022-12-17 14:54:49 +08:00
ShikiSuen
29b89518c0
InputHandler // Simplify the arrow handling in handleInput().
2022-12-17 14:54:48 +08:00
ShikiSuen
272bfef227
SessionCtl // Fix a conditioning in candidatePairSelected().
2022-12-17 14:54:48 +08:00
ShikiSuen
19b0b138f2
InputHandler // Further simplification, etc.
...
- Removing certain useless cases of delegate.switchState(IMEState.ofEmpty()) right after ofCommitting().
- Divide handleComposition() for future purposes.
2022-12-17 14:54:48 +08:00
ShikiSuen
4860b52306
InputHandler // Simplifying inline rotation method.
2022-12-17 14:54:48 +08:00
ShikiSuen
2cf53d5c6a
SessionCtl // Optimize handlings of Committing() state.
2022-12-17 14:54:48 +08:00
ShikiSuen
70e0044179
InputHandler // Simplify CapsLock input handling.
2022-12-17 14:54:48 +08:00
ShikiSuen
1324e0a077
Repo // selectedCandidateIndex -> highlightedIndex.
2022-12-17 14:54:48 +08:00
ShikiSuen
b6b647d822
InputHandler // Simplify handleCandidate().
2022-12-17 14:54:48 +08:00
ShikiSuen
96fe170a8d
InputHandler // Remove ineffective ThinkPad-specific key support.
2022-12-17 14:54:48 +08:00
ShikiSuen
e8e67a1f5f
InputHandler // Simplifying aftermaths.
2022-12-17 14:54:48 +08:00
ShikiSuen
0a0f02861b
InputHandler // Remove errorCallback().
2022-12-17 14:54:48 +08:00
ShikiSuen
581122720d
InputHandler // Remove state parameter.
2022-12-17 14:54:48 +08:00
ShikiSuen
36a83f25a2
InputHandler // Remove stateCallback().
2022-12-17 14:54:48 +08:00
ShikiSuen
4522921a0f
InputHandler // Simplify handleInput().
2022-12-17 14:54:48 +08:00
ShikiSuen
d9cf938b29
Repo // Introducing InputHandlerProtocol.
2022-12-17 14:54:48 +08:00
ShikiSuen
6e94cbea55
Repo // Moving input handling instructions to InputHandler.
2022-12-17 14:54:48 +08:00
ShikiSuen
5832136e05
Repo // Implementing set() for NSWindowController.
2022-12-17 14:54:48 +08:00
ShikiSuen
0926e345a4
ClientMgr // Allow multiple selection.
2022-12-17 14:54:48 +08:00
ShikiSuen
4b08607608
PrefUI & PrefWindow // Disable multiple selection.
2022-12-17 14:54:48 +08:00
ShikiSuen
595304a0b8
LMMgr // Format tweaks.
...
- Use "Self." when necessary.
2022-12-17 14:54:48 +08:00
ShikiSuen
c7c7769024
Bump version to 2.8.8 GM Build 2880.
2022-12-17 14:54:48 +08:00
ShikiSuen
70f47407f9
UpdateSputnik // Use shared instance; Fix wrong key name.
2022-12-17 14:54:48 +08:00
ShikiSuen
794cca4e98
AppDelegate // Format change, removing "currentAlertType".
2022-12-17 14:54:48 +08:00
ShikiSuen
939162e08a
Repo // NSApplication.shared -> NSApp.
2022-12-17 14:54:48 +08:00
ShikiSuen
08148779e5
PrefUI // Use uppercase Hungary naming convention.
2022-12-17 14:54:48 +08:00
ShikiSuen
9ae2797fca
Repo // Change how NSWindow shared instances are handled.
2022-12-17 14:54:48 +08:00
ShikiSuen
7c1dce393d
AboutWindow // Also embed upstream license.
2022-12-17 14:54:48 +08:00
ShikiSuen
66fb90d8d5
AboutWindow // Update copyright information.
2022-12-17 14:54:48 +08:00
ShikiSuen
4a5182ccf3
Repo // Update copyright format.
2022-12-17 14:54:48 +08:00
ShikiSuen
82a4a0e1bc
Repo // Pull symbol menu default data out of the package.
2022-12-17 14:54:48 +08:00
ShikiSuen
6168cc32d0
Repo // Massive nomenclature changes, etc.
2022-12-17 14:54:48 +08:00
ShikiSuen
458e7fa613
SessionCtl // Simplify handle(state).
2022-12-17 14:54:48 +08:00
ShikiSuen
1e8b0af44b
SessionCtl // Again let IME works right after rebooting itself.
2022-12-17 14:54:48 +08:00
ShikiSuen
0956e043fd
SessionCtl // Add (Bool)replaceCurrent to handle(event).
2022-12-17 14:54:48 +08:00
ShikiSuen
0d79e83777
SessionCtl // Track and handle deactivated states correctly.
2022-12-17 14:54:48 +08:00
ShikiSuen
81feeb341c
IMKCandidates // Upgrade visible().
2022-12-17 14:54:48 +08:00
ShikiSuen
970174117e
SessionCtl // Remove unnecessary nil setters for ctlCandidateCurrent.
2022-12-17 14:54:48 +08:00
ShikiSuen
072ecdf907
CtlCandidateDelegate // Remove useless "AnyObject".
2022-12-17 14:54:48 +08:00
ShikiSuen
d4ba4dbdcf
SessionCtl // Fix incorrect "deactivated" states.
2022-12-17 14:54:48 +08:00
ShikiSuen
c95a55dc60
SessionCtl // Publicization.
2022-12-17 14:54:48 +08:00
ShikiSuen
b43d4b8993
SessionCtl // Add warning comments towards handle(state).
2022-12-17 14:54:48 +08:00
ShikiSuen
a144e20304
SessionCtl // Make PCB, tooltip, and candidate window instances dynamic.
2022-12-17 14:54:48 +08:00
ShikiSuen
940e9b6d85
SessionCtl // Also debug-print the client when state changes.
2022-12-17 14:54:48 +08:00
ShikiSuen
1f9abfafe5
SessionCtl // Handle empty state when activating server.
2022-12-17 14:54:48 +08:00
ShikiSuen
55c469bf31
KeyHandler // Deprecating CFStringTransform(), etc.
2022-12-17 14:54:48 +08:00
ShikiSuen
2cd43f8a69
PrefWindow // Description updates.
2022-12-17 14:54:48 +08:00
ShikiSuen
e09813704d
PrefUI // Update certain descriptions and terms.
2022-12-17 14:54:48 +08:00
ShikiSuen
65f8bc2eff
PrefUI // Add quick setup buttons for keyLayouts.
2022-12-17 14:54:48 +08:00
ShikiSuen
ae776fb12d
PrefUI // Remove limitations regarding choices of keyboard layouts.
2022-12-17 14:54:48 +08:00
ShikiSuen
d0c704f9bf
SessionCtl // Disable special keyLayout for candidate Window.
2022-12-17 14:54:48 +08:00
ShikiSuen
70e0269bf3
SessionCtl // Disable special keyboard layout for Caps Lock mode.
2022-12-17 14:54:48 +08:00
ShikiSuen
05994872ca
SessionCtl // Force keyLayout translation when typing phonabets.
2022-12-17 14:54:48 +08:00
ShikiSuen
123d6111bc
SessionCtl // Force half-width in alphanumerical keyboard.
2022-12-17 14:54:48 +08:00
ShikiSuen
165727f43d
SessionCtl // Translate Apple dynamic keylayouts in new way.
2022-12-17 14:54:48 +08:00
ShikiSuen
4edbe4d85c
TDKCandidates // Only show 1 column for vertical typing.
2022-12-17 14:54:48 +08:00
ShikiSuen
4c44cf09c9
SessionCtl // Remove useless delegate symbols.
2022-12-17 14:54:48 +08:00
ShikiSuen
4676c995ce
Repo // Fix selection key errors of vertical IMKCandidates.
2022-12-17 14:54:48 +08:00
ShikiSuen
ec35ebf24b
Repo // Refuse ineffective candidate key events.
2022-12-17 14:54:48 +08:00
ShikiSuen
b510ee5c1e
KeyHandler // Stop generating candidate states with emply container.
2022-12-17 14:54:48 +08:00
ShikiSuen
1dfebd7b44
Repo // Remove useless symbols regarding candidate windows.
2022-12-17 14:54:48 +08:00
ShikiSuen
0abc362576
Repo // Deprecating Zonble's method of handling selection key errors.
...
- Also adding the ability of detecting non-printable chars.
2022-12-17 14:54:48 +08:00
ShikiSuen
80e578600c
PrefMgr // Add LINE to IMKTextInputIncapable list.
2022-12-17 14:54:48 +08:00
ShikiSuen
6eb77a1b6f
ClientMgr // Tweak NSAlert sheet size.
2022-12-17 14:54:48 +08:00
ShikiSuen
32d35ad911
SessionCtl // Revamp certain client()-related operations.
2022-12-17 14:54:48 +08:00
ShikiSuen
f4a786904e
TDKCandidates // Refactor for simplicity.
2022-12-17 14:54:47 +08:00
ShikiSuen
e71f46f2f5
Repo // Typo fix: Emac -> Emacs.
2022-12-17 14:54:47 +08:00
ShikiSuen
d620a1899d
SessionCtl // Disable recent new Caps Lock features for macOS 11 and earlier.
2022-12-17 14:54:47 +08:00
ShikiSuen
110d945d40
SessionCtl // Always sync ASCIIMode state from CapsLock state.
2022-12-17 14:54:47 +08:00
ShikiSuen
757f166d4b
PrefWindow // Fix a wrong binding in XIB.
2022-12-17 14:54:47 +08:00
ShikiSuen
2c80f5fdf0
PrefMgr // Fix a default setting for macOS 10.14 and earlier.
2022-12-17 14:54:47 +08:00
ShikiSuen
bf4712a1de
SessionCtl // Use alphanumerical keyboard for candidate window.
...
- 2.8.6 Special FIx: Stop stucking while typing in Xcode.
2022-12-17 14:54:47 +08:00
ShikiSuen
f7f722d557
KeyHandler // Comment update.
2022-12-17 14:54:47 +08:00
ShikiSuen
646ca310c6
Repo // Updating bleachSpecifiedSuggestions() to add batch processing.
2022-12-17 14:54:47 +08:00
ShikiSuen
bf6bc90238
SessionCtl_Menu // Update certain menu item namings.
2022-12-17 14:54:47 +08:00
ShikiSuen
844fd5b8d9
Repo // Let L-Shift toggle become effective immediately.
2022-12-17 14:54:47 +08:00
ShikiSuen
d872a6b443
Repo // Remove nerfed phrases from UOM database.
2022-12-17 14:54:47 +08:00
ShikiSuen
5e263e7398
KeyHandler // Update certain comments.
2022-12-17 14:54:47 +08:00
ShikiSuen
c3d3d95a1f
Manuals && FAQ // Update for vChewing 2.8.0 and onwards.
2022-12-17 14:54:47 +08:00
ShikiSuen
d5e01b5adf
Repo // Enable TDKCandidateBackports for macOS 10.15-11.
2022-12-17 14:54:47 +08:00
ShikiSuen
cb81da6581
Repo // Clang-format.
2022-12-17 14:49:05 +08:00
ShikiSuen
50bddf2f83
KeyHandler // Fix a behavior issue with TDKCandidates.
2022-12-17 14:49:05 +08:00
ShikiSuen
b286f23c69
SessionCtl // Use GCD for Caps Lock processing.
2022-12-17 14:49:05 +08:00
ShikiSuen
030a8cb776
CtlCandidateTDK // Vertical candidate layout support, etc.
...
- SP2: Fix a color scheme mistake in bright mode.
2022-12-17 14:49:05 +08:00
ShikiSuen
8fd236a065
Repo // Removing page button toggle.
2022-12-17 14:49:05 +08:00
ShikiSuen
0def927690
Repo // Allow turning off CapsLock notifications, etc.
2022-12-17 14:49:05 +08:00
ShikiSuen
227d0fb1bc
Repo // Require that minimum candidate key count is 6, etc.
...
- SP2 Fix: Shared // Add missing dependency.
2022-12-17 14:49:05 +08:00
ShikiSuen
373dc93139
Repo // Update CNS Data tag.
2022-12-17 14:49:05 +08:00
ShikiSuen
c9b42ca9a5
Prefs // Update settings regarding candidate window, etc.
2022-12-17 14:49:05 +08:00
ShikiSuen
738ecc0a8f
PrefWindow // Disable Voltaire-related settings.
2022-12-17 14:49:05 +08:00
ShikiSuen
cef1a2a3f5
CtlCandidateTDK // DIfferentiate page flipping and row flipping.
2022-12-17 14:49:05 +08:00
ShikiSuen
b38938de54
CtlCandidateTDK // Performance boost.
2022-12-17 14:49:05 +08:00
ShikiSuen
eadae22dbb
Repo // Introducing CtlCandidateTDK (horizontal).
2022-12-17 14:49:05 +08:00
ShikiSuen
e6429e2639
i18n // Remove redundant contents.
2022-12-17 14:49:05 +08:00
ShikiSuen
88d4e56f2f
KeyHandler // Add additional notes regarding CapsLock handling.
2022-12-17 14:49:05 +08:00
ShikiSuen
1bba520f01
PrefUI // Fix certain terms according to recent changes.
2022-12-17 14:49:05 +08:00
ShikiSuen
df1a531c6c
i18n // Fix the localization key name according to recent changes.
2022-12-17 14:49:05 +08:00
ShikiSuen
f75bafdd01
SessionCtl // Add caps lock notification support, etc.
2022-12-17 14:49:05 +08:00
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