KeyHandler // Use fixed order for inline candidate rotation.

This commit is contained in:
ShikiSuen 2022-06-27 10:29:58 +08:00
parent 9acbdaebe4
commit 171c43c36c
2 changed files with 4 additions and 5 deletions

View File

@ -238,7 +238,7 @@ class KeyHandler {
}
///
var candidatesArray: [String] {
func candidatesArray(fixOrder: Bool = true) -> [String] {
var arrNodes: [Megrez.NodeAnchor] = rawNodes
var arrCandidates: [String] = []
@ -262,7 +262,7 @@ class KeyHandler {
}
}
}
if mgrPrefs.fetchSuggestionsFromUserOverrideModel, !mgrPrefs.useSCPCTypingMode {
if mgrPrefs.fetchSuggestionsFromUserOverrideModel, !mgrPrefs.useSCPCTypingMode, !fixOrder {
let arrSuggestedUnigrams: [Megrez.Unigram] = fetchSuggestedCandidates().stableSort { $0.score > $1.score }
let arrSuggestedCandidates: [String] = arrSuggestedUnigrams.map(\.keyValue.value)
arrCandidates = arrSuggestedCandidates.filter { arrCandidates.contains($0) } + arrCandidates

View File

@ -169,7 +169,7 @@ extension KeyHandler {
InputState.ChoosingCandidate(
composingBuffer: currentState.composingBuffer,
cursorIndex: currentState.cursorIndex,
candidates: candidatesArray,
candidates: candidatesArray(fixOrder: false),
isTypingVertical: isTypingVertical
)
}
@ -772,8 +772,7 @@ extension KeyHandler {
return true
}
//
let candidates = candidatesArray
let candidates = candidatesArray(fixOrder: true)
guard !candidates.isEmpty else {
IME.prtDebugIntel("3378A6DF")
errorCallback()