Commit Graph

563 Commits

Author SHA1 Message Date
ShikiSuen 0a711697bb InputHandler // Reorder when `%quick` inputs are handled. 2023-06-27 15:40:01 +08:00
ShikiSuen 7df892c541 InputHandler // Use .ofSymbolTable() to handle `%symboldef`. 2023-06-27 15:40:01 +08:00
ShikiSuen a6ccb51172 InputHandler // Constantiate a never-mutate var. 2023-06-27 15:40:01 +08:00
ShikiSuen 276555ed95 Repo // Force Shift+Candidate in `%quick` mode in some cases. 2023-06-18 11:09:30 +08:00
ShikiSuen 2a5f02601c PrefWindow & PrefUI // Maintenance fix. 2023-06-18 11:09:25 +08:00
ShikiSuen f38db788a5 PrefMgr // Upgrade sanity check for candidate keys. 2023-06-18 11:09:25 +08:00
ShikiSuen 20368fcd91 SessionCtl // Extract resetCandidateWindowOrigin(). 2023-06-18 11:09:25 +08:00
ShikiSuen adc4d918c6 InputHandler // Lower the priority of handling `%quick`. 2023-06-18 11:09:25 +08:00
ShikiSuen 86e86eedaf Prefs // State that `%quick` is not ready for IMKCandidates. 2023-06-18 11:09:25 +08:00
ShikiSuen ba98ebf0a7 InputHandler // Handle inputs for `%quick`. 2023-06-18 11:09:25 +08:00
ShikiSuen b0c2bfc54e SessionCtl // Cope with `%quick` candidates. 2023-06-17 16:25:54 +08:00
ShikiSuen 5f2fb57f91 IMEState // Extend isCandidateContainer(). 2023-06-17 16:25:54 +08:00
ShikiSuen a22e396c6f InputHandler // Accept Shift-combined chars as strokes. 2023-06-17 16:25:54 +08:00
ShikiSuen 7f99b2f76a SessionCtl // Share isASCIIMode across all sessions for a client. 2023-06-17 16:25:54 +08:00
ShikiSuen 7c64b4aaf4 InputHandler // Fix isConsideredEmptyForNow(). 2023-06-17 16:25:54 +08:00
ShikiSuen f140471995 InputHandler // Also allow Cmd+Shift+Ctrl+[]. 2023-06-17 16:25:54 +08:00
ShikiSuen ffd7db4bca Repo // Allow hot-toggling IMKCandidates. 2023-06-17 16:25:54 +08:00
ShikiSuen af715ad8d8 NSEvent // Make .text() safer. 2023-06-17 16:25:54 +08:00
ShikiSuen d92c5d3669 InputHandler // Use Space to cancel code-point input. 2023-06-17 16:25:54 +08:00
ShikiSuen 950c9ea554 InputHandler // Refactor handleCandidate(). 2023-06-17 16:25:54 +08:00
ShikiSuen 8562c35535 InputHandler // Refactor handleInput() to triageInput(). 2023-06-17 16:25:54 +08:00
ShikiSuen 05213c04b1 SessionCtl // Keep IMKCandidates shown when needed. 2023-06-17 16:25:54 +08:00
ShikiSuen e773ae759c Pref // Again disable enableSwiftUIForTDKCandidates by default. 2023-06-17 16:25:54 +08:00
ShikiSuen 3f0f308c81 Repo // Compatibility with Xcode 15. 2023-06-17 16:25:54 +08:00
ShikiSuen 90f6fa53b8 PrefMgr // Use SwiftUI for TDKCandidates by default. 2023-06-06 00:47:02 +08:00
ShikiSuen bea40d7e75 InputHandler // Introduce hotkeys for candidate manipulation. 2023-06-06 00:47:02 +08:00
ShikiSuen bf8d9f30f0 InputHandler // Tweak pipeline for NSEvents with empty texts. 2023-06-06 00:47:02 +08:00
ShikiSuen 53182e2690 IMKCandidates // Implement updateDisplay(). 2023-06-06 00:47:02 +08:00
ShikiSuen 730c5b6ff7 IMKCandidates // Update documentation. 2023-06-06 00:47:02 +08:00
ShikiSuen 135b9dc1e4 IMKCandidates // Stop crashing on activating new session. 2023-06-06 00:47:02 +08:00
ShikiSuen f99c16169e Repo // Use JSON as factory dictionary format. 2023-06-06 00:47:02 +08:00
ShikiSuen d269c82bcd PrefUI // Fix a compilation error happened with Xcode 14.3. 2023-06-06 00:47:02 +08:00
ShikiSuen 682aaf5053 TDKCandidates // Make CandidatePool into a class, etc. 2023-06-06 00:47:02 +08:00
ShikiSuen fc29b52f8f SessionCtl // Use selectionRange() and replacementRange(). 2023-06-06 00:47:02 +08:00
ShikiSuen 4888a0dc54 SessionCtl // Use annotationSelected(). 2023-06-06 00:47:02 +08:00
ShikiSuen 6ab57f5165 Repo // Typo fix: LatinKeyboardMappings. 2023-06-06 00:47:02 +08:00
ShikiSuen e5a0c34778 Repo // Update CNS tag to 2023-05-19. 2023-05-26 00:37:29 +08:00
ShikiSuen 8811613b10 Repo // Integrate Alvin Liu parser support. 2023-05-26 00:37:29 +08:00
ShikiSuen a1fd56b872 Repo // Use new tags for pinyin parsers. 2023-05-26 00:37:29 +08:00
ShikiSuen e9c4f845d6 Repo // Stablize the static AppDelegate instance. 2023-05-26 00:37:29 +08:00
ShikiSuen e5143b9b4f SessionCtl // Turn off ASCII mode while switching CHS/CHT. 2023-05-26 00:37:29 +08:00
ShikiSuen 1edce13f67 InputHandler // Show tooltip on overriding previous intonation. 2023-05-26 00:37:29 +08:00
ShikiSuen 6963784e59 InputHander // Show tooltip for standalone intonation marks. 2023-05-26 00:37:29 +08:00
ShikiSuen ce611799dc IMEState // Track the index of unfinished readings / strokes. 2023-05-26 00:37:29 +08:00
ShikiSuen ad950038fd PrefUI // Bind acceptLeadingIntonations(). 2023-05-26 00:37:29 +08:00
ShikiSuen de56d83484 InputHandler // Bind acceptLeadingIntonations(). 2023-05-26 00:37:29 +08:00
ShikiSuen 7fb48357c4 Prefs // Add acceptLeadingIntonations(). 2023-05-26 00:37:29 +08:00
ShikiSuen c946064385 Tekkon // (v1.4.2) Integrate phonabetKeyForQuery(). 2023-05-26 00:37:29 +08:00
ShikiSuen 3f427ae94f InputHandler // Accepting leading intonations. 2023-05-26 00:37:29 +08:00
ShikiSuen c11cf4200c InputHandler // Remove (BOOL)keyConsumedByStrokes. 2023-05-26 00:37:29 +08:00
ShikiSuen dd13a1218e InputHandler // Simplify handleComposition(). 2023-05-26 00:37:29 +08:00
ShikiSuen a81fe379c2 InputHandler // Fix a fatal error with validity check. 2023-05-26 00:37:29 +08:00
ShikiSuen 8d8c0246fe PrefUI // Remove useless blank lines. 2023-05-26 00:37:29 +08:00
ShikiSuen 2c3bd26b73 InputHandler // Fix several issues with Pinyin handling.
- Stop committing unfinished pinyin.
- Detect isReadingKeyNotEmpty for Tekkon RomajiBuffer.
2023-05-01 21:03:05 +08:00
ShikiSuen 5bdddc069d SessionCtl // Add switchInputMode() with its menu item. 2023-05-01 21:03:05 +08:00
ShikiSuen 8d9d8e1b23 i18n // Fix certain localization keys. 2023-05-01 21:03:05 +08:00
ShikiSuen 7d776baed5 IMEState // Remove useless variables, etc.
* Also reordering certain variables.
2023-05-01 21:03:05 +08:00
ShikiSuen b1f256ef05 SessionCtl // Use AttributeStrings generated by new methods. 2023-05-01 21:03:05 +08:00
ShikiSuen 1e27947579 IMEState // Get marking attributes from SessionCtl. 2023-05-01 21:03:05 +08:00
ShikiSuen 3b85bd6d7d SessionCtl // Implement selectionRange(), etc. 2023-05-01 21:03:05 +08:00
ShikiSuen b4d6d54f57 i18n // Fix certain descriptions. 2023-05-01 21:03:05 +08:00
ShikiSuen 3aeb865bda SessionCtl // Allow non-Qwerty layouts for certain parsers. 2023-05-01 21:03:05 +08:00
ShikiSuen 8bc621f126 NSEventImpl // Implement .layoutTranslated(). 2023-05-01 21:03:05 +08:00
ShikiSuen 96e63ce5cb CtlPrefWindow // clang-format. 2023-05-01 21:03:05 +08:00
ShikiSuen 5fb420adf1 Main // Use system NSSound by default. 2023-04-15 15:08:38 +08:00
ShikiSuen 4947f49043 SessionCtl // Again stop handling nulled NSEvents. 2023-04-15 15:08:38 +08:00
ShikiSuen a031c0d61b Repo // Always fix input mode on activateServer(). 2023-04-05 20:26:07 +08:00
ShikiSuen 553b493006 PrefWindow // Dynamically render the parser menu. 2023-04-05 20:26:07 +08:00
ShikiSuen 49dd4b1a9a Repo // Add Wade-Gyles pinyin support. 2023-04-05 20:26:07 +08:00
ShikiSuen a6542df9bc InputHandler // Also update marker when previewing candidates. 2023-04-05 20:26:07 +08:00
ShikiSuen 650dbc13c8 IMEStateData // Prevent cursors from being out of bounds. 2023-04-05 20:26:07 +08:00
ShikiSuen 421268e620 SessionCtl // Use hidePalettes() when needed. 2023-04-05 20:26:07 +08:00
ShikiSuen 0639e9e289 Revert "SessionCtl // Use GCD for certain state tasks."
This reverts commit 852eed07e2.
2023-04-05 20:26:07 +08:00
ShikiSuen d386a93784 IMEStateData // Update isFilterable(), etc. 2023-03-23 21:17:43 +08:00
ShikiSuen 78a950e355 LMAssembly & LMMgr // Add countPhrasePairs(), etc. 2023-03-23 21:17:43 +08:00
ShikiSuen 6a2a2de195 InputHandler // Remove useless conditions when nerfing single kanjis. 2023-03-23 21:17:43 +08:00
ShikiSuen e4275a753e LMMgr // Concurrency. 2023-03-23 21:17:43 +08:00
ShikiSuen 852eed07e2 SessionCtl // Use GCD for certain state tasks. 2023-03-23 21:17:43 +08:00
ShikiSuen 0f44861440 SessionCtl // Implement hidePalletes(). 2023-03-23 21:17:43 +08:00
ShikiSuen f76d0b6f96 InputHandler // Syncing changes from Megrez v2.6.2-v2.6.3 update. 2023-03-23 21:17:43 +08:00
ShikiSuen 12e9caf557 LMMgr // Fix tagOverrides(). 2023-03-12 14:56:14 +08:00
ShikiSuen 03913cb71c InputHandler // Bring cursor jump to the marking mode.
* Certain models of ThinkPad USB Keyboard don't support Alt+Shift+→, hence the choice of Command key as the alternative modifier key for this function.
2023-03-12 14:56:14 +08:00
ShikiSuen c5b3083b48 InputHandler // Use updatePopupDisplayWithCursor() if needed. 2023-03-12 14:56:14 +08:00
ShikiSuen e4be1ecd3d InputHandler // Extend upperCaseLetterKeyBehavior(). 2023-03-12 14:56:14 +08:00
ShikiSuen c2ea8f254d Prefs // Extend upperCaseLetterKeyBehavior(). 2023-03-12 14:56:14 +08:00
ShikiSuen 0423ce727c SessionCtl // Implement updatePopupDisplayWithCursor(). 2023-03-12 14:56:14 +08:00
ShikiSuen b44a8d1a59 SessionCtl // Implement candidatePairHighlightChanged(). 2023-03-10 16:02:08 +08:00
ShikiSuen 79aa073b7a InputHandler // Implement previewCompositionBufferForCandidate(). 2023-03-10 16:02:08 +08:00
ShikiSuen 8535fc1711 Repo // Sync changes from Megrez v2.6.0 update. 2023-03-10 16:02:08 +08:00
ShikiSuen 22ead33ba9 SessionCtl // Refactor candidatePairSelectionConfirmed(). 2023-03-10 16:02:08 +08:00
ShikiSuen 625897a744 Repo // Call candidatePairHighlightChanged() when appropriate. 2023-03-10 16:02:08 +08:00
ShikiSuen fc49bebc5d Repo // API changes for further purposes. 2023-03-10 16:02:08 +08:00
ShikiSuen a2f5606579 Repo // Add parameter names for ([String], String). 2023-03-10 16:02:08 +08:00
ShikiSuen e6696d910d Repo // Refactoring the entire LMMgr. 2023-03-10 16:02:08 +08:00
ShikiSuen 41339a1c61 SessionCtl // Change the condition of areWeNerfing(). 2023-03-10 16:02:08 +08:00
ShikiSuen 164366d8fa SessionCtl // Implement the alternative init(). 2023-03-10 16:02:08 +08:00
ShikiSuen 44dc2ee267 SessionCtl // Fix a format mistake in Caps Lock notification text. 2023-03-10 16:02:08 +08:00
ShikiSuen 04cb05ea34 PrefUI // Sync changes. 2023-03-07 18:38:59 +08:00
ShikiSuen 8541c3b9e6 PrefUI // Use AppStorage to handle UserDefaults, plus comment fix. 2023-03-07 18:38:59 +08:00
ShikiSuen 3ec0753686 AppDelegate // Fix odd preferences first. 2023-03-07 18:38:59 +08:00