Prefs & PrefUI // Refactoring toggles related to Chinese conversions.
This commit is contained in:
parent
046710427e
commit
146a50079e
|
@ -469,34 +469,44 @@ public enum mgrPrefs {
|
|||
}
|
||||
|
||||
@UserDefault(key: UserDef.kChineseConversionEnabled.rawValue, defaultValue: false)
|
||||
static var chineseConversionEnabled: Bool
|
||||
static var chineseConversionEnabled: Bool {
|
||||
didSet {
|
||||
// 康熙轉換與 JIS 轉換不能同時開啟,否則會出現某些奇奇怪怪的情況
|
||||
if chineseConversionEnabled, shiftJISShinjitaiOutputEnabled {
|
||||
toggleShiftJISShinjitaiOutputEnabled()
|
||||
UserDefaults.standard.set(
|
||||
shiftJISShinjitaiOutputEnabled, forKey: UserDef.kShiftJISShinjitaiOutputEnabled.rawValue
|
||||
)
|
||||
}
|
||||
UserDefaults.standard.set(
|
||||
chineseConversionEnabled, forKey: UserDef.kChineseConversionEnabled.rawValue
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@discardableResult static func toggleChineseConversionEnabled() -> Bool {
|
||||
chineseConversionEnabled = !chineseConversionEnabled
|
||||
// 康熙轉換與 JIS 轉換不能同時開啟,否則會出現某些奇奇怪怪的情況
|
||||
if chineseConversionEnabled, shiftJISShinjitaiOutputEnabled {
|
||||
toggleShiftJISShinjitaiOutputEnabled()
|
||||
UserDefaults.standard.set(
|
||||
shiftJISShinjitaiOutputEnabled, forKey: UserDef.kShiftJISShinjitaiOutputEnabled.rawValue
|
||||
)
|
||||
}
|
||||
UserDefaults.standard.set(chineseConversionEnabled, forKey: UserDef.kChineseConversionEnabled.rawValue)
|
||||
return chineseConversionEnabled
|
||||
}
|
||||
|
||||
@UserDefault(key: UserDef.kShiftJISShinjitaiOutputEnabled.rawValue, defaultValue: false)
|
||||
static var shiftJISShinjitaiOutputEnabled: Bool
|
||||
static var shiftJISShinjitaiOutputEnabled: Bool {
|
||||
didSet {
|
||||
// 康熙轉換與 JIS 轉換不能同時開啟,否則會出現某些奇奇怪怪的情況
|
||||
if shiftJISShinjitaiOutputEnabled, chineseConversionEnabled {
|
||||
toggleChineseConversionEnabled()
|
||||
UserDefaults.standard.set(
|
||||
chineseConversionEnabled, forKey: UserDef.kChineseConversionEnabled.rawValue
|
||||
)
|
||||
}
|
||||
UserDefaults.standard.set(
|
||||
shiftJISShinjitaiOutputEnabled, forKey: UserDef.kShiftJISShinjitaiOutputEnabled.rawValue
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@discardableResult static func toggleShiftJISShinjitaiOutputEnabled() -> Bool {
|
||||
shiftJISShinjitaiOutputEnabled = !shiftJISShinjitaiOutputEnabled
|
||||
// 康熙轉換與 JIS 轉換不能同時開啟,否則會出現某些奇奇怪怪的情況
|
||||
if shiftJISShinjitaiOutputEnabled, chineseConversionEnabled {
|
||||
toggleChineseConversionEnabled()
|
||||
UserDefaults.standard.set(chineseConversionEnabled, forKey: UserDef.kChineseConversionEnabled.rawValue)
|
||||
}
|
||||
UserDefaults.standard.set(
|
||||
shiftJISShinjitaiOutputEnabled, forKey: UserDef.kShiftJISShinjitaiOutputEnabled.rawValue
|
||||
)
|
||||
return shiftJISShinjitaiOutputEnabled
|
||||
}
|
||||
|
||||
|
|
|
@ -133,20 +133,14 @@ struct suiPrefPaneGeneral: View {
|
|||
LocalizedStringKey("Auto-convert traditional Chinese glyphs to KangXi characters"),
|
||||
isOn: $selEnableKanjiConvToKangXi.onChange {
|
||||
mgrPrefs.chineseConversionEnabled = selEnableKanjiConvToKangXi
|
||||
if selEnableKanjiConvToKangXi {
|
||||
mgrPrefs.shiftJISShinjitaiOutputEnabled = !selEnableKanjiConvToKangXi
|
||||
selEnableKanjiConvToJIS = !selEnableKanjiConvToKangXi
|
||||
}
|
||||
selEnableKanjiConvToJIS = mgrPrefs.shiftJISShinjitaiOutputEnabled
|
||||
}
|
||||
)
|
||||
Toggle(
|
||||
LocalizedStringKey("Auto-convert traditional Chinese glyphs to JIS Shinjitai characters"),
|
||||
isOn: $selEnableKanjiConvToJIS.onChange {
|
||||
mgrPrefs.shiftJISShinjitaiOutputEnabled = selEnableKanjiConvToJIS
|
||||
if selEnableKanjiConvToJIS {
|
||||
mgrPrefs.chineseConversionEnabled = !selEnableKanjiConvToJIS
|
||||
selEnableKanjiConvToKangXi = !selEnableKanjiConvToJIS
|
||||
}
|
||||
selEnableKanjiConvToKangXi = mgrPrefs.chineseConversionEnabled
|
||||
}
|
||||
)
|
||||
Toggle(
|
||||
|
|
Loading…
Reference in New Issue