Commit Graph

409 Commits

Author SHA1 Message Date
ShikiSuen a3310be0e3 AppDelegate // Mark the uninstall action button with red color. 2023-01-11 17:39:27 +08:00
ShikiSuen a62d684e2f PrefUI // Batch-change max-page-height to 490. 2023-01-11 17:39:27 +08:00
ShikiSuen 70c2eb954c PrefUI // Add alternative tooltip button. 2023-01-11 17:39:27 +08:00
ShikiSuen fdd767069e Repo // Regularize FileHandle API usages for future purposes. 2022-12-30 10:52:51 +08:00
ShikiSuen 1305ce2a26 Repo // Move certain vertical-cases from IMEState to SessionCtl.
- InputHandler // Fix a case which should use delegate.isVerticalTyping.
2022-12-30 10:52:51 +08:00
ShikiSuen dba312b16e InputHandler // Expose SessionCtl.updateVerticalTypingStatus(). 2022-12-30 10:52:51 +08:00
ShikiSuen 5b117a4c3d SessionCtl // Force updateVerticalTypingStatus() when needed. 2022-12-30 10:52:51 +08:00
ShikiSuen abe6375347 PrefWindow // Crediting Hiraku regarding the Cocoa UI lang menu.
Co-authored-by: Hiraku <dev@hiraku.tw>
2022-12-30 10:52:51 +08:00
ShikiSuen 74d4cc5b8c InputHandler // Show current candidate ID during inline rotation. 2022-12-22 17:49:39 +08:00
ShikiSuen 21c55f6b5b Repo // Change of when to do window position setup. 2022-12-20 20:31:28 +08:00
ShikiSuen 78635348d5 Repo // Add hotkey for calling reverse-lookup window. 2022-12-20 20:31:27 +08:00
ShikiSuen f27d08b221 RevLookupWindow // Disable anchored constraints. 2022-12-20 20:31:27 +08:00
ShikiSuen a61d95339b InputHandler // Allow jumping from candidate state to marking state. 2022-12-20 20:31:27 +08:00
ShikiSuen f9abcd4f09 InputHandler // Accommodating Megrez 2.5.1 update.
- Utilizing [Node].smashedPairs, etc.
- Refactoring rotateCandidate().
2022-12-20 20:20:01 +08:00
ShikiSuen c13d223bb2 InputHandler // Accommodating Tekkon 1.3.1 update.
- Also add Shift+Ctrl+Command+Option+Enter support for committing non-HTML textbook readings only.
2022-12-20 20:20:01 +08:00
ShikiSuen f9c79d06b4 InputHandler // Skip UOM observation when inline-rotating candidates. 2022-12-20 20:20:01 +08:00
ShikiSuen 6734bc49c5 CtlPrefWindow // Conditionally force-reload phrase editor on show(). 2022-12-20 20:20:00 +08:00
ShikiSuen b64910d7a5 SessionCtl // Change how updateVerticalTypingStatus() gets triggered. 2022-12-20 20:20:00 +08:00
ShikiSuen 00ce1f23ce LMMgr // Load corresponded data model on .tagOverrides(). 2022-12-20 20:20:00 +08:00
ShikiSuen c1350bccc3 LMAssembly // Remove duplicated symbols. 2022-12-20 20:20:00 +08:00
ShikiSuen 83801eee1b InputHandler // Accommodating changes introduced in Megrez 2.5.0 update. 2022-12-20 20:20:00 +08:00
ShikiSuen dedbddf223 SessionCtl // Add the menu item for calling reverse-lookup window. 2022-12-20 20:20:00 +08:00
ShikiSuen 892a574378 Repo // Introducing reverse-lookup window. 2022-12-20 20:20:00 +08:00
ShikiSuen 9ec8428af6 Repo // Force all windows to be focused on call, etc. 2022-12-20 20:20:00 +08:00
ShikiSuen 2e3549f172 Repo // Change the initial position of certain windows. 2022-12-20 20:20:00 +08:00
ShikiSuen 225e95655c CtlPrefWindow_PhraseEditor // Fix incorrect license header. 2022-12-20 20:20:00 +08:00
ShikiSuen 16162cd9ca SessionCtl // Update certain menu titles. 2022-12-20 20:20:00 +08:00
ShikiSuen aaf8ab3216 InputHandler // Documentation fix. 2022-12-20 19:55:50 +08:00
ShikiSuen d2107f847a PhraseEditor // Release some memory when it gets disappeared. 2022-12-20 19:55:50 +08:00
ShikiSuen a9c7d0c12d PhraseEditor // Add tooltip to the main edit area. 2022-12-20 19:55:50 +08:00
ShikiSuen 5bbc4edf33 PhraseEditor // Add tooltip to the weight field. 2022-12-20 19:55:50 +08:00
ShikiSuen 0f11ad8862 PrefUI // Clang-format. 2022-12-20 19:55:50 +08:00
ShikiSuen bd11f209f9 SessionCtl // Stop blocking reserved key inputs right after reboot. 2022-12-20 19:55:50 +08:00
ShikiSuen c134ba0356 IMEStateData & SessionCtl // Update the separator for the convertedMark. 2022-12-20 19:55:50 +08:00
ShikiSuen 829bb8d16b AppDelegate // Reload user dictionary data after changing its folder.
- Also tweak the order in reloadOnFolderChangeHappens().
2022-12-20 19:55:50 +08:00
ShikiSuen 573c93b59d PrefUI // Padding adjustments in the PhraseEditorUI page. 2022-12-20 19:55:50 +08:00
ShikiSuen 7e73eab9f2 PhraseEditorCocoa // Remove isSaved().
- This is to synchronize behaviors with PhraseEditorUI.
2022-12-20 19:55:50 +08:00
ShikiSuen 89d2884ea2 PhraseEditor // Implement tagOverrides().
- This affects both PhraseEditorCocoa and PhraseEditorUI.
2022-12-20 19:55:50 +08:00
ShikiSuen 59903995ce LMMgr & PhraseEditorDelegate // Add tagOverrides(), etc. 2022-12-20 19:55:50 +08:00
ShikiSuen 34e9ca9493 PhraseEditor // Allow calling TextEdit if the option key is pressed. 2022-12-20 19:55:50 +08:00
ShikiSuen 2c684a925c Repo // Change #Override tag. 2022-12-20 19:55:50 +08:00
ShikiSuen 1b86b1b609 LMInstantiator // Fix a parameter name. 2022-12-20 19:55:50 +08:00
ShikiSuen 21b231c392 PrefUI // Disable Windows Aero glass effect.
- This causes legibility issues with grey texts shown in textField, hence the removal of it.
2022-12-20 19:55:50 +08:00
ShikiSuen 7b3509fcdf SessionCtl // Stop receiving inputs until factory dictionary is loaded. 2022-12-20 19:55:50 +08:00
ShikiSuen ea725ed329 Tekkon // Nomenclature updates for future purposes. 2022-12-20 19:55:50 +08:00
ShikiSuen 2664509276 Repo // Massive updates conforming to recent changes of Megrez. 2022-12-20 19:55:49 +08:00
ShikiSuen ebaf44c7dc SessionCtl // Disable CandidateContextMenu for Spotlight and Raycast. 2022-12-20 19:55:49 +08:00
ShikiSuen f4787c29da PrefUI // Performance optimization for the keyboard page. 2022-12-20 19:55:49 +08:00
ShikiSuen 1a9fd9b2c1 LMMgr & AppDelegate // Connecting PhraseEditorCocoa to the IME. 2022-12-17 15:14:23 +08:00
ShikiSuen 36e9a0c1dd PrefWindow // Implementing PhraseEditorCocoa. 2022-12-17 15:14:23 +08:00
ShikiSuen 2ff3f0f0d0 PrefUI // Add phrase editor page. 2022-12-17 15:14:23 +08:00
ShikiSuen 68b2b2554e LMMgr // Conforming to PhraseEditorDelegate.
- LMMgr // Classification.
2022-12-17 15:14:23 +08:00
ShikiSuen 5dbbb0fcfa Prefs // +kPhraseEditorAutoReloadExternalModifications. 2022-12-17 15:14:23 +08:00
ShikiSuen d2046968cf AppDelegate // Update FileObserveProject when necessary. 2022-12-17 15:14:22 +08:00
ShikiSuen 6e4bd51e18 LMMgr // Update FileObserveProject when necessary. 2022-12-17 15:14:22 +08:00
ShikiSuen 19c2e24948 SessionCtl & LMMgr // Simplify the handling of openUserDictFile(). 2022-12-17 15:14:22 +08:00
ShikiSuen 291b4c9237 LMMgr // Change the default external data editor.
- Use macOS built-in TextEdit instead.
2022-12-17 15:14:22 +08:00
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 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 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 2a320ee095 InputHandler // Correct the handling of tone1, etc. (#217) 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