InputState // Only allow excluding existing words.
This commit is contained in:
parent
fc3d150825
commit
e3a1eb9b11
|
@ -158,6 +158,7 @@ class InputState: NSObject {
|
||||||
|
|
||||||
@objc private(set) var markerIndex: UInt
|
@objc private(set) var markerIndex: UInt
|
||||||
@objc private(set) var markedRange: NSRange
|
@objc private(set) var markedRange: NSRange
|
||||||
|
@objc private var deleteTargetExists = false
|
||||||
@objc var tooltip: String {
|
@objc var tooltip: String {
|
||||||
|
|
||||||
if composingBuffer.count != readings.count {
|
if composingBuffer.count != readings.count {
|
||||||
|
@ -192,6 +193,7 @@ class InputState: NSObject {
|
||||||
let joined = selectedReadings.joined(separator: "-")
|
let joined = selectedReadings.joined(separator: "-")
|
||||||
let exist = mgrLangModel.checkIfUserPhraseExist(userPhrase: text, mode: ctlInputMethod.currentKeyHandler.inputMode, key: joined)
|
let exist = mgrLangModel.checkIfUserPhraseExist(userPhrase: text, mode: ctlInputMethod.currentKeyHandler.inputMode, key: joined)
|
||||||
if exist {
|
if exist {
|
||||||
|
deleteTargetExists = exist
|
||||||
TooltipController.backgroundColor = NSColor(red: 0.00, green: 0.18, blue: 0.13, alpha: 1.00)
|
TooltipController.backgroundColor = NSColor(red: 0.00, green: 0.18, blue: 0.13, alpha: 1.00)
|
||||||
TooltipController.textColor = NSColor(red: 0.00, green: 1.00, blue: 0.74, alpha: 1.00)
|
TooltipController.textColor = NSColor(red: 0.00, green: 1.00, blue: 0.74, alpha: 1.00)
|
||||||
return String(format: NSLocalizedString("\"%@\" already exists, ENTER to boost its priority.", comment: ""), text)
|
return String(format: NSLocalizedString("\"%@\" already exists, ENTER to boost its priority.", comment: ""), text)
|
||||||
|
@ -257,6 +259,9 @@ class InputState: NSObject {
|
||||||
if markedRange.length > kMaxMarkRangeLength {
|
if markedRange.length > kMaxMarkRangeLength {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
if ctlInputMethod.areWeDeleting && !deleteTargetExists {
|
||||||
|
return false
|
||||||
|
}
|
||||||
return markedRange.length >= kMinMarkRangeLength && markedRange.length <= kMaxMarkRangeLength
|
return markedRange.length >= kMinMarkRangeLength && markedRange.length <= kMaxMarkRangeLength
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue