Repo // Reenable tooltip color sync.

This commit is contained in:
ShikiSuen 2022-09-19 15:16:00 +08:00
parent d06d81829d
commit 1c249d7818
2 changed files with 10 additions and 5 deletions

View File

@ -86,6 +86,8 @@ public struct StateData {
mgrPrefs.allowedMarkLengthRange.contains(markedRange.count)
}
var tooltipColorState: ctlTooltip.ColorStates = .normal
var attributedStringNormal: NSAttributedString {
///
/// JIS
@ -197,7 +199,7 @@ extension StateData {
public static func updateParameters(_ data: inout StateData) {
var tooltipGenerated: String {
if mgrPrefs.phraseReplacementEnabled {
ctlInputMethod.tooltipInstance.setColor(state: .warning)
data.tooltipColorState = .warning
return NSLocalizedString(
"⚠︎ Phrase replacement mode enabled, interfering user phrase entry.", comment: ""
)
@ -208,14 +210,14 @@ extension StateData {
let text = data.displayedText.charComponents[data.markedRange].joined()
if data.markedRange.count < mgrPrefs.allowedMarkLengthRange.lowerBound {
ctlInputMethod.tooltipInstance.setColor(state: .denialInsufficiency)
data.tooltipColorState = .denialInsufficiency
return String(
format: NSLocalizedString(
"\"%@\" length must ≥ 2 for a user phrase.", comment: ""
) + "\n" + generateReadingThread(data), text
)
} else if data.markedRange.count > mgrPrefs.allowedMarkLengthRange.upperBound {
ctlInputMethod.tooltipInstance.setColor(state: .denialOverflow)
data.tooltipColorState = .denialOverflow
return String(
format: NSLocalizedString(
"\"%@\" length should ≤ %d for a user phrase.", comment: ""
@ -229,7 +231,7 @@ extension StateData {
)
if exist {
data.markedTargetExists = exist
ctlInputMethod.tooltipInstance.setColor(state: .prompt)
data.tooltipColorState = .prompt
return String(
format: NSLocalizedString(
"\"%@\" already exists:\n ENTER to boost, SHIFT+COMMAND+ENTER to nerf, \n BackSpace or Delete key to exclude.",
@ -237,7 +239,7 @@ extension StateData {
) + "\n" + generateReadingThread(data), text
)
}
ctlInputMethod.tooltipInstance.resetColor()
data.tooltipColorState = .normal
return String(
format: NSLocalizedString("\"%@\" selected. ENTER to add user phrase.", comment: "") + "\n"
+ generateReadingThread(data),

View File

@ -62,6 +62,9 @@ extension ctlInputMethod {
do {
ctlInputMethod.tooltipInstance.hide()
ctlInputMethod.tooltipInstance = .init()
if state.type == .ofMarking {
ctlInputMethod.tooltipInstance.setColor(state: state.data.tooltipColorState)
}
}
//
ctlInputMethod.tooltipInstance.show(