SessionCtl // Sync some syntax preferences from vC-Aqua branch.

This commit is contained in:
ShikiSuen 2023-09-21 18:59:01 +08:00
parent eb6c747272
commit 95b8f3fd4c
2 changed files with 29 additions and 29 deletions

View File

@ -223,16 +223,16 @@ public class SessionCtl: IMKInputController {
private func construct(client theClient: (IMKTextInput & NSObjectProtocol)? = nil) { private func construct(client theClient: (IMKTextInput & NSObjectProtocol)? = nil) {
DispatchQueue.main.async { [weak self] in DispatchQueue.main.async { [weak self] in
guard let self = self else { return } guard let self = self else { return }
inputHandler = InputHandler( self.inputHandler = InputHandler(
lm: LMMgr.currentLM, uom: LMMgr.currentUOM, pref: PrefMgr.shared lm: LMMgr.currentLM, uom: LMMgr.currentUOM, pref: PrefMgr.shared
) )
inputHandler?.delegate = self self.inputHandler?.delegate = self
syncBaseLMPrefs() self.syncBaseLMPrefs()
// //
let maybeClient = theClient ?? client() let maybeClient = theClient ?? self.client()
activateServer(maybeClient) self.activateServer(maybeClient)
// GCD didSet // GCD didSet
inputMode = .init(rawValue: PrefMgr.shared.mostRecentInputMode) ?? .imeModeNULL self.inputMode = .init(rawValue: PrefMgr.shared.mostRecentInputMode) ?? .imeModeNULL
} }
} }
} }
@ -246,7 +246,7 @@ public extension SessionCtl {
DispatchQueue.main.async { [weak self] in DispatchQueue.main.async { [weak self] in
guard let self = self else { return } guard let self = self else { return }
if isASCIIMode, IMKHelper.isDynamicBasicKeyboardLayoutEnabled { if self.isASCIIMode, IMKHelper.isDynamicBasicKeyboardLayoutEnabled {
client.overrideKeyboard(withKeyboardNamed: PrefMgr.shared.alphanumericalKeyboardLayout) client.overrideKeyboard(withKeyboardNamed: PrefMgr.shared.alphanumericalKeyboardLayout)
return return
} }
@ -287,8 +287,8 @@ public extension SessionCtl {
guard let self = self else { return } guard let self = self else { return }
if let senderBundleID: String = (sender as? IMKTextInput)?.bundleIdentifier() { if let senderBundleID: String = (sender as? IMKTextInput)?.bundleIdentifier() {
vCLog("activateServer(\(senderBundleID))") vCLog("activateServer(\(senderBundleID))")
isServingIMEItself = Bundle.main.bundleIdentifier == senderBundleID self.isServingIMEItself = Bundle.main.bundleIdentifier == senderBundleID
clientBundleIdentifier = senderBundleID self.clientBundleIdentifier = senderBundleID
} }
} }
DispatchQueue.main.async { DispatchQueue.main.async {
@ -299,8 +299,8 @@ public extension SessionCtl {
} }
DispatchQueue.main.async { [weak self] in DispatchQueue.main.async { [weak self] in
guard let self = self else { return } guard let self = self else { return }
if inputMode != IMEApp.currentInputMode { if self.inputMode != IMEApp.currentInputMode {
inputMode = IMEApp.currentInputMode self.inputMode = IMEApp.currentInputMode
} }
} }
DispatchQueue.main.async { DispatchQueue.main.async {
@ -315,25 +315,25 @@ public extension SessionCtl {
} }
DispatchQueue.main.async { [weak self] in DispatchQueue.main.async { [weak self] in
guard let self = self else { return } guard let self = self else { return }
if isActivated { return } if self.isActivated { return }
// setValue() IMK activateServer() setValue() // setValue() IMK activateServer() setValue()
inputHandler = InputHandler( self.inputHandler = InputHandler(
lm: LMMgr.currentLM, uom: LMMgr.currentUOM, pref: PrefMgr.shared lm: LMMgr.currentLM, uom: LMMgr.currentUOM, pref: PrefMgr.shared
) )
inputHandler?.delegate = self self.inputHandler?.delegate = self
syncBaseLMPrefs() self.syncBaseLMPrefs()
Self.theShiftKeyDetector.toggleWithLShift = PrefMgr.shared.togglingAlphanumericalModeWithLShift Self.theShiftKeyDetector.toggleWithLShift = PrefMgr.shared.togglingAlphanumericalModeWithLShift
Self.theShiftKeyDetector.toggleWithRShift = PrefMgr.shared.togglingAlphanumericalModeWithRShift Self.theShiftKeyDetector.toggleWithRShift = PrefMgr.shared.togglingAlphanumericalModeWithRShift
if isASCIIMode, !IMEApp.isKeyboardJIS { if self.isASCIIMode, !IMEApp.isKeyboardJIS {
if #available(macOS 10.15, *) { if #available(macOS 10.15, *) {
if !Self.theShiftKeyDetector.enabled { if !Self.theShiftKeyDetector.enabled {
isASCIIMode = false self.isASCIIMode = false
} }
} else { } else {
isASCIIMode = false self.isASCIIMode = false
} }
} }
@ -342,9 +342,9 @@ public extension SessionCtl {
AppDelegate.shared.checkMemoryUsage() AppDelegate.shared.checkMemoryUsage()
} }
state = IMEState.ofEmpty() self.state = IMEState.ofEmpty()
isActivated = true // self.isActivated = true //
setKeyLayout() self.setKeyLayout()
} }
} }
@ -353,13 +353,13 @@ public extension SessionCtl {
override func deactivateServer(_ sender: Any!) { override func deactivateServer(_ sender: Any!) {
DispatchQueue.main.async { [weak self] in DispatchQueue.main.async { [weak self] in
guard let self = self else { return } guard let self = self else { return }
isActivated = false self.isActivated = false
resetInputHandler() // Empty self.resetInputHandler() // Empty
switchState(IMEState.ofDeactivated()) self.switchState(IMEState.ofDeactivated())
inputHandler = nil self.inputHandler = nil
// IMK nil IMK // IMK nil IMK
if candidateUI is CtlCandidateTDK { if self.candidateUI is CtlCandidateTDK {
candidateUI = nil self.candidateUI = nil
} }
} }
super.deactivateServer(sender) super.deactivateServer(sender)
@ -376,7 +376,7 @@ public extension SessionCtl {
DispatchQueue.main.async { [weak self] in DispatchQueue.main.async { [weak self] in
guard let self = self else { return } guard let self = self else { return }
let newMode: Shared.InputMode = .init(rawValue: value as? String ?? PrefMgr.shared.mostRecentInputMode) ?? .imeModeNULL let newMode: Shared.InputMode = .init(rawValue: value as? String ?? PrefMgr.shared.mostRecentInputMode) ?? .imeModeNULL
if inputMode != newMode { inputMode = newMode } if self.inputMode != newMode { self.inputMode = newMode }
} }
super.setValue(value, forTag: tag, client: sender) super.setValue(value, forTag: tag, client: sender)
} }

View File

@ -63,7 +63,7 @@ public extension SessionCtl {
if PrefMgr.shared.alwaysShowTooltipTextsHorizontally { return .horizontal } if PrefMgr.shared.alwaysShowTooltipTextsHorizontally { return .horizontal }
return isVerticalTyping ? .vertical : .horizontal return isVerticalTyping ? .vertical : .horizontal
}() }()
// NSAttributedTextView //
do { do {
tooltipInstance.hide() tooltipInstance.hide()
tooltipInstance = Self.makeTooltipUI() tooltipInstance = Self.makeTooltipUI()