From 9699580b578e3aa9e2c37cc442c6488fc01411ba Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Fri, 5 Aug 2022 09:11:20 +0800 Subject: [PATCH] Repo // Patch choosing states to conform previous update. --- Source/Modules/ControllerModules/InputState.swift | 7 +++++-- Source/Modules/ControllerModules/KeyHandler_States.swift | 9 +++++---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Source/Modules/ControllerModules/InputState.swift b/Source/Modules/ControllerModules/InputState.swift index ccd4fb04..2516b1d6 100644 --- a/Source/Modules/ControllerModules/InputState.swift +++ b/Source/Modules/ControllerModules/InputState.swift @@ -429,10 +429,13 @@ public enum InputState { private(set) var candidates: [(String, String)] private(set) var isTypingVertical: Bool - init(composingBuffer: String, cursorIndex: Int, candidates: [(String, String)], isTypingVertical: Bool) { + init( + composingBuffer: String, cursorIndex: Int, candidates: [(String, String)], isTypingVertical: Bool, + nodeValuesArray: [String] = [] + ) { self.candidates = candidates self.isTypingVertical = isTypingVertical - super.init(composingBuffer: composingBuffer, cursorIndex: cursorIndex) + super.init(composingBuffer: composingBuffer, cursorIndex: cursorIndex, nodeValuesArray: nodeValuesArray) } override var description: String { diff --git a/Source/Modules/ControllerModules/KeyHandler_States.swift b/Source/Modules/ControllerModules/KeyHandler_States.swift index 35c24383..c2e07bc8 100644 --- a/Source/Modules/ControllerModules/KeyHandler_States.swift +++ b/Source/Modules/ControllerModules/KeyHandler_States.swift @@ -22,7 +22,7 @@ extension KeyHandler { /// 「更新內文組字區 (Update the composing buffer)」是指要求客體軟體將組字緩衝區的內容 /// 換成由此處重新生成的組字字串(NSAttributeString,否則會不顯示)。 var tooltipParameterRef: [String] = ["", ""] - let nodeValuesArray: [String] = walkedAnchors.map(\.node.currentPair.value) + let nodeValuesArray: [String] = walkedAnchors.values var composedStringCursorIndex = 0 var readingCursorIndex = 0 /// IMK 協定的內文組字區的游標長度與游標位置無法正確統計 UTF8 高萬字(比如 emoji)的長度, @@ -124,7 +124,8 @@ extension KeyHandler { composingBuffer: currentState.composingBuffer, cursorIndex: currentState.cursorIndex, candidates: getCandidatesArray(fixOrder: mgrPrefs.useFixecCandidateOrderOnSelection), - isTypingVertical: isTypingVertical + isTypingVertical: isTypingVertical, + nodeValuesArray: walkedAnchors.values ) } @@ -196,7 +197,7 @@ extension KeyHandler { cursorIndex: state.cursorIndex, markerIndex: index, readings: state.readings, - nodeValuesArray: walkedAnchors.map(\.node.currentPair.value) + nodeValuesArray: walkedAnchors.values ) marking.tooltipForInputting = state.tooltipForInputting stateCallback(marking.markedRange.isEmpty ? marking.convertedToInputting : marking) @@ -218,7 +219,7 @@ extension KeyHandler { cursorIndex: state.cursorIndex, markerIndex: index, readings: state.readings, - nodeValuesArray: walkedAnchors.map(\.node.currentPair.value) + nodeValuesArray: walkedAnchors.values ) marking.tooltipForInputting = state.tooltipForInputting stateCallback(marking.markedRange.isEmpty ? marking.convertedToInputting : marking)