IMEStateData // Update isFilterable(), etc.

This commit is contained in:
ShikiSuen 2023-03-23 12:09:38 +08:00
parent 78a950e355
commit d386a93784
1 changed files with 9 additions and 4 deletions

View File

@ -102,8 +102,13 @@ public struct IMEStateData: IMEStateDataProtocol {
.markedClauseSegment: 0,
]
)
public var isFilterable: Bool {
markedTargetExists ? (isMarkedLengthValid && markedRange.count > 1) : false
guard isMarkedLengthValid else { return false } //
guard markedTargetExists else { return false } //
guard markedReadings.count == 1 else { return true } // 1
//
return LMMgr.countPhrasePairs(keyArray: markedReadings, mode: IMEApp.currentInputMode) > 1
}
public var isMarkedLengthValid: Bool {
@ -236,15 +241,15 @@ public extension IMEStateData {
if markedTargetExists {
tooltipColorState = .prompt
switch markedRange.count {
case 1:
switch isFilterable {
case false:
return String(
format: NSLocalizedString(
"\"%@\" already exists:\n ENTER to boost, SHIFT+COMMAND+ENTER to nerf.",
comment: ""
) + "\n" + readingDisplay, text
)
default:
case true:
return String(
format: NSLocalizedString(
"\"%@\" already exists:\n ENTER to boost, SHIFT+COMMAND+ENTER to nerf, \n BackSpace or Delete key to exclude.",