Prefs & PrefUI // Refactoring toggles related to Chinese conversions.

This commit is contained in:
ShikiSuen 2022-08-16 08:34:01 +08:00
parent 046710427e
commit 146a50079e
2 changed files with 30 additions and 26 deletions

View File

@ -469,10 +469,8 @@ public enum mgrPrefs {
} }
@UserDefault(key: UserDef.kChineseConversionEnabled.rawValue, defaultValue: false) @UserDefault(key: UserDef.kChineseConversionEnabled.rawValue, defaultValue: false)
static var chineseConversionEnabled: Bool static var chineseConversionEnabled: Bool {
didSet {
@discardableResult static func toggleChineseConversionEnabled() -> Bool {
chineseConversionEnabled = !chineseConversionEnabled
// JIS // JIS
if chineseConversionEnabled, shiftJISShinjitaiOutputEnabled { if chineseConversionEnabled, shiftJISShinjitaiOutputEnabled {
toggleShiftJISShinjitaiOutputEnabled() toggleShiftJISShinjitaiOutputEnabled()
@ -480,23 +478,35 @@ public enum mgrPrefs {
shiftJISShinjitaiOutputEnabled, forKey: UserDef.kShiftJISShinjitaiOutputEnabled.rawValue shiftJISShinjitaiOutputEnabled, forKey: UserDef.kShiftJISShinjitaiOutputEnabled.rawValue
) )
} }
UserDefaults.standard.set(chineseConversionEnabled, forKey: UserDef.kChineseConversionEnabled.rawValue) UserDefaults.standard.set(
chineseConversionEnabled, forKey: UserDef.kChineseConversionEnabled.rawValue
)
}
}
@discardableResult static func toggleChineseConversionEnabled() -> Bool {
chineseConversionEnabled = !chineseConversionEnabled
return chineseConversionEnabled return chineseConversionEnabled
} }
@UserDefault(key: UserDef.kShiftJISShinjitaiOutputEnabled.rawValue, defaultValue: false) @UserDefault(key: UserDef.kShiftJISShinjitaiOutputEnabled.rawValue, defaultValue: false)
static var shiftJISShinjitaiOutputEnabled: Bool static var shiftJISShinjitaiOutputEnabled: Bool {
didSet {
@discardableResult static func toggleShiftJISShinjitaiOutputEnabled() -> Bool {
shiftJISShinjitaiOutputEnabled = !shiftJISShinjitaiOutputEnabled
// JIS // JIS
if shiftJISShinjitaiOutputEnabled, chineseConversionEnabled { if shiftJISShinjitaiOutputEnabled, chineseConversionEnabled {
toggleChineseConversionEnabled() toggleChineseConversionEnabled()
UserDefaults.standard.set(chineseConversionEnabled, forKey: UserDef.kChineseConversionEnabled.rawValue) UserDefaults.standard.set(
chineseConversionEnabled, forKey: UserDef.kChineseConversionEnabled.rawValue
)
} }
UserDefaults.standard.set( UserDefaults.standard.set(
shiftJISShinjitaiOutputEnabled, forKey: UserDef.kShiftJISShinjitaiOutputEnabled.rawValue shiftJISShinjitaiOutputEnabled, forKey: UserDef.kShiftJISShinjitaiOutputEnabled.rawValue
) )
}
}
@discardableResult static func toggleShiftJISShinjitaiOutputEnabled() -> Bool {
shiftJISShinjitaiOutputEnabled = !shiftJISShinjitaiOutputEnabled
return shiftJISShinjitaiOutputEnabled return shiftJISShinjitaiOutputEnabled
} }

View File

@ -133,20 +133,14 @@ struct suiPrefPaneGeneral: View {
LocalizedStringKey("Auto-convert traditional Chinese glyphs to KangXi characters"), LocalizedStringKey("Auto-convert traditional Chinese glyphs to KangXi characters"),
isOn: $selEnableKanjiConvToKangXi.onChange { isOn: $selEnableKanjiConvToKangXi.onChange {
mgrPrefs.chineseConversionEnabled = selEnableKanjiConvToKangXi mgrPrefs.chineseConversionEnabled = selEnableKanjiConvToKangXi
if selEnableKanjiConvToKangXi { selEnableKanjiConvToJIS = mgrPrefs.shiftJISShinjitaiOutputEnabled
mgrPrefs.shiftJISShinjitaiOutputEnabled = !selEnableKanjiConvToKangXi
selEnableKanjiConvToJIS = !selEnableKanjiConvToKangXi
}
} }
) )
Toggle( Toggle(
LocalizedStringKey("Auto-convert traditional Chinese glyphs to JIS Shinjitai characters"), LocalizedStringKey("Auto-convert traditional Chinese glyphs to JIS Shinjitai characters"),
isOn: $selEnableKanjiConvToJIS.onChange { isOn: $selEnableKanjiConvToJIS.onChange {
mgrPrefs.shiftJISShinjitaiOutputEnabled = selEnableKanjiConvToJIS mgrPrefs.shiftJISShinjitaiOutputEnabled = selEnableKanjiConvToJIS
if selEnableKanjiConvToJIS { selEnableKanjiConvToKangXi = mgrPrefs.chineseConversionEnabled
mgrPrefs.chineseConversionEnabled = !selEnableKanjiConvToJIS
selEnableKanjiConvToKangXi = !selEnableKanjiConvToJIS
}
} }
) )
Toggle( Toggle(