2.6.0 SP1 // Bug fixes. Merge PR #132 from upd/2.6.0sp1

This commit is contained in:
ShikiSuen 2022-09-12 00:01:45 +08:00 committed by GitHub
commit 19c9ee8456
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 46 additions and 31 deletions

View File

@ -83,8 +83,16 @@ extension KeyHandler {
return false return false
} }
// macOS bug
var charToCommit = inputText.lowercased()
if "".contains(charToCommit), input.isSymbolMenuPhysicalKey,
AppleKeyboardConverter.isDynamicBasicKeyboardLayoutEnabled
{
charToCommit = "`"
}
// //
stateCallback(IMEState.ofCommitting(textToCommit: inputText.lowercased())) stateCallback(IMEState.ofCommitting(textToCommit: charToCommit))
stateCallback(IMEState.ofEmpty()) stateCallback(IMEState.ofEmpty())
return true return true

View File

@ -96,7 +96,7 @@ extension ctlInputMethod {
menu.addItem(NSMenuItem.separator()) // --------------------- menu.addItem(NSMenuItem.separator()) // ---------------------
menu.addItem( menu.addItem(
withTitle: NSLocalizedString("Open User Data Folder", comment: ""), withTitle: NSLocalizedString("Open User Dictionary Folder", comment: ""),
action: #selector(openUserDataFolder(_:)), keyEquivalent: "" action: #selector(openUserDataFolder(_:)), keyEquivalent: ""
) )
menu.addItem( menu.addItem(

View File

@ -119,8 +119,8 @@ public class ctlPopupCompositionBuffer: NSWindowController {
var bigRect = rect var bigRect = rect
bigRect.size.width += NSFont.systemFontSize bigRect.size.width += NSFont.systemFontSize
bigRect.size.height += NSFont.systemFontSize bigRect.size.height += NSFont.systemFontSize
rect.origin.x += NSFont.systemFontSize / 2 rect.origin.x += ceil(NSFont.systemFontSize / 2)
rect.origin.y += NSFont.systemFontSize / 2 rect.origin.y += ceil(NSFont.systemFontSize / 2)
messageTextField.frame = rect messageTextField.frame = rect
window?.setFrame(bigRect, display: true) window?.setFrame(bigRect, display: true)
} }

View File

@ -168,8 +168,8 @@ public class ctlTooltip: NSWindowController {
var bigRect = rect var bigRect = rect
bigRect.size.width += NSFont.systemFontSize bigRect.size.width += NSFont.systemFontSize
bigRect.size.height += NSFont.systemFontSize bigRect.size.height += NSFont.systemFontSize
rect.origin.x += NSFont.systemFontSize / 2 rect.origin.x += ceil(NSFont.systemFontSize / 2)
rect.origin.y += NSFont.systemFontSize / 2 rect.origin.y += ceil(NSFont.systemFontSize / 2)
messageText.frame = rect messageText.frame = rect
window?.setFrame(bigRect, display: true) window?.setFrame(bigRect, display: true)
messageText.draw(messageText.frame) messageText.draw(messageText.frame)

View File

@ -60,7 +60,7 @@
"CNS11643 Mode" = "CNS11643 Mode"; "CNS11643 Mode" = "CNS11643 Mode";
"JIS Shinjitai Output" = "JIS Shinjitai Output"; "JIS Shinjitai Output" = "JIS Shinjitai Output";
"Per-Char Associated Phrases" = "Per-Char Associated Phrases"; "Per-Char Associated Phrases" = "Per-Char Associated Phrases";
"Open User Data Folder" = "Open User Data Folder"; "Open User Dictionary Folder" = "Open User Dictionary Folder";
"Edit Associated Phrases…" = "Edit Associated Phrases…"; "Edit Associated Phrases…" = "Edit Associated Phrases…";
"Reboot vChewing…" = "Reboot vChewing…"; "Reboot vChewing…" = "Reboot vChewing…";
"auto" = "Follow System Settings"; "auto" = "Follow System Settings";

View File

@ -60,7 +60,7 @@
"CNS11643 Mode" = "CNS11643 Mode"; "CNS11643 Mode" = "CNS11643 Mode";
"JIS Shinjitai Output" = "JIS Shinjitai Output"; "JIS Shinjitai Output" = "JIS Shinjitai Output";
"Per-Char Associated Phrases" = "Per-Char Associated Phrases"; "Per-Char Associated Phrases" = "Per-Char Associated Phrases";
"Open User Data Folder" = "Open User Data Folder"; "Open User Dictionary Folder" = "Open User Dictionary Folder";
"Edit Associated Phrases…" = "Edit Associated Phrases…"; "Edit Associated Phrases…" = "Edit Associated Phrases…";
"Reboot vChewing…" = "Reboot vChewing…"; "Reboot vChewing…" = "Reboot vChewing…";
"auto" = "Follow System Settings"; "auto" = "Follow System Settings";

View File

@ -60,7 +60,7 @@
"CNS11643 Mode" = "全字庫モード"; "CNS11643 Mode" = "全字庫モード";
"JIS Shinjitai Output" = "JIS 新字体モード"; "JIS Shinjitai Output" = "JIS 新字体モード";
"Per-Char Associated Phrases" = "全候補入力で連想語彙"; "Per-Char Associated Phrases" = "全候補入力で連想語彙";
"Open User Data Folder" = "ユーザー資料フォルダを開く"; "Open User Dictionary Folder" = "ユーザー辞書フォルダを開く";
"Edit Associated Phrases…" = "連想語彙を編集…"; "Edit Associated Phrases…" = "連想語彙を編集…";
"Reboot vChewing…" = "入力アプリ再起動…"; "Reboot vChewing…" = "入力アプリ再起動…";
"auto" = "システム設定に準ず"; "auto" = "システム設定に準ず";

View File

@ -60,7 +60,7 @@
"CNS11643 Mode" = "全字库模式"; "CNS11643 Mode" = "全字库模式";
"JIS Shinjitai Output" = "JIS 新字体模式"; "JIS Shinjitai Output" = "JIS 新字体模式";
"Per-Char Associated Phrases" = "逐字选字联想模式"; "Per-Char Associated Phrases" = "逐字选字联想模式";
"Open User Data Folder" = "开启使用者资料夹"; "Open User Dictionary Folder" = "开启使用者辞典资料夹";
"Edit Associated Phrases…" = "编辑联想词…"; "Edit Associated Phrases…" = "编辑联想词…";
"Reboot vChewing…" = "重新启动输入法…"; "Reboot vChewing…" = "重新启动输入法…";
"auto" = "与系统设定一致"; "auto" = "与系统设定一致";

View File

@ -60,7 +60,7 @@
"CNS11643 Mode" = "全字庫模式"; "CNS11643 Mode" = "全字庫模式";
"JIS Shinjitai Output" = "JIS 新字體模式"; "JIS Shinjitai Output" = "JIS 新字體模式";
"Per-Char Associated Phrases" = "逐字選字聯想模式"; "Per-Char Associated Phrases" = "逐字選字聯想模式";
"Open User Data Folder" = "開啟使用者資料夾"; "Open User Dictionary Folder" = "開啟使用者辭典資料夾";
"Edit Associated Phrases…" = "編輯聯想詞…"; "Edit Associated Phrases…" = "編輯聯想詞…";
"Reboot vChewing…" = "重新啟動輸入法…"; "Reboot vChewing…" = "重新啟動輸入法…";
"auto" = "與系統設定一致"; "auto" = "與系統設定一致";

View File

@ -17,6 +17,7 @@ class ctlClientListMgr: NSWindowController, NSTableViewDelegate, NSTableViewData
super.windowDidLoad() super.windowDidLoad()
localize() localize()
tblClients.delegate = self tblClients.delegate = self
tblClients.allowsMultipleSelection = true
tblClients.dataSource = self tblClients.dataSource = self
tblClients.reloadData() tblClients.reloadData()
} }
@ -79,11 +80,11 @@ extension ctlClientListMgr {
alert.accessoryView = scrollview alert.accessoryView = scrollview
alert.beginSheetModal(for: window) { result in alert.beginSheetModal(for: window) { result in
switch result { switch result {
case .alertFirstButtonReturn: case .alertFirstButtonReturn, .alertSecondButtonReturn:
theTextView.textContainer?.textView?.string.components(separatedBy: "\n").filter { !$0.isEmpty }.forEach { theTextView.textContainer?.textView?.string.components(separatedBy: "\n").filter { !$0.isEmpty }.forEach {
self.applyNewValue($0) self.applyNewValue($0)
} }
case .alertSecondButtonReturn: if result == .alertFirstButtonReturn { break }
IME.dlgOpenPath.title = NSLocalizedString( IME.dlgOpenPath.title = NSLocalizedString(
"Choose the target application bundle.", comment: "" "Choose the target application bundle.", comment: ""
) )
@ -132,18 +133,24 @@ extension ctlClientListMgr {
} }
@IBAction func btnRemoveClientClicked(_: Any) { @IBAction func btnRemoveClientClicked(_: Any) {
if tblClients.selectedRow >= mgrPrefs.clientsIMKTextInputIncapable.count { return } guard let minIndexSelected = tblClients.selectedRowIndexes.min() else { return }
if tblClients.selectedRow < 0 { return } if minIndexSelected >= mgrPrefs.clientsIMKTextInputIncapable.count { return }
let isLastRow: Bool = { if minIndexSelected < 0 { return }
if mgrPrefs.clientsIMKTextInputIncapable.count < 2 { return false } var isLastRow = false
return tblClients.selectedRow == mgrPrefs.clientsIMKTextInputIncapable.count - 1 tblClients.selectedRowIndexes.sorted().reversed().forEach { index in
}() isLastRow = {
mgrPrefs.clientsIMKTextInputIncapable.remove(at: tblClients.selectedRow) if mgrPrefs.clientsIMKTextInputIncapable.count < 2 { return false }
return minIndexSelected == mgrPrefs.clientsIMKTextInputIncapable.count - 1
}()
if index < mgrPrefs.clientsIMKTextInputIncapable.count {
mgrPrefs.clientsIMKTextInputIncapable.remove(at: index)
}
}
if isLastRow { if isLastRow {
tblClients.selectRowIndexes(.init(arrayLiteral: tblClients.selectedRow - 1), byExtendingSelection: false) tblClients.selectRowIndexes(.init(arrayLiteral: minIndexSelected - 1), byExtendingSelection: false)
} }
tblClients.reloadData() tblClients.reloadData()
btnRemoveClient.isEnabled = (0..<mgrPrefs.clientsIMKTextInputIncapable.count).contains(tblClients.selectedRow) btnRemoveClient.isEnabled = (0..<mgrPrefs.clientsIMKTextInputIncapable.count).contains(minIndexSelected)
} }
func tableView(_: NSTableView, objectValueFor _: NSTableColumn?, row: Int) -> Any? { func tableView(_: NSTableView, objectValueFor _: NSTableColumn?, row: Int) -> Any? {

View File

@ -5,7 +5,7 @@
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>2.6.0</string> <string>2.6.0</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>2600</string> <string>2601</string>
<key>UpdateInfoEndpoint</key> <key>UpdateInfoEndpoint</key>
<string>https://gitee.com/vchewing/vChewing-macOS/raw/main/Update-Info.plist</string> <string>https://gitee.com/vchewing/vChewing-macOS/raw/main/Update-Info.plist</string>
<key>UpdateInfoSite</key> <key>UpdateInfoSite</key>

View File

@ -1483,7 +1483,7 @@
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 2600; CURRENT_PROJECT_VERSION = 2601;
GCC_C_LANGUAGE_STANDARD = gnu11; GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO; GCC_DYNAMIC_NO_PIC = NO;
GCC_PREPROCESSOR_DEFINITIONS = ( GCC_PREPROCESSOR_DEFINITIONS = (
@ -1522,7 +1522,7 @@
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 2600; CURRENT_PROJECT_VERSION = 2601;
ENABLE_NS_ASSERTIONS = NO; ENABLE_NS_ASSERTIONS = NO;
GCC_C_LANGUAGE_STANDARD = gnu11; GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
@ -1560,7 +1560,7 @@
CODE_SIGN_IDENTITY = "-"; CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 2600; CURRENT_PROJECT_VERSION = 2601;
DEAD_CODE_STRIPPING = YES; DEAD_CODE_STRIPPING = YES;
ENABLE_HARDENED_RUNTIME = YES; ENABLE_HARDENED_RUNTIME = YES;
GCC_C_LANGUAGE_STANDARD = gnu11; GCC_C_LANGUAGE_STANDARD = gnu11;
@ -1612,7 +1612,7 @@
CODE_SIGN_IDENTITY = "-"; CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 2600; CURRENT_PROJECT_VERSION = 2601;
DEAD_CODE_STRIPPING = YES; DEAD_CODE_STRIPPING = YES;
ENABLE_HARDENED_RUNTIME = YES; ENABLE_HARDENED_RUNTIME = YES;
ENABLE_NS_ASSERTIONS = NO; ENABLE_NS_ASSERTIONS = NO;
@ -1746,7 +1746,7 @@
CODE_SIGN_IDENTITY = "-"; CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 2600; CURRENT_PROJECT_VERSION = 2601;
DEAD_CODE_STRIPPING = YES; DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_ASSET_PATHS = ""; DEVELOPMENT_ASSET_PATHS = "";
DEVELOPMENT_TEAM = ""; DEVELOPMENT_TEAM = "";
@ -1805,7 +1805,7 @@
CODE_SIGN_IDENTITY = "-"; CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 2600; CURRENT_PROJECT_VERSION = 2601;
DEAD_CODE_STRIPPING = YES; DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_ASSET_PATHS = ""; DEVELOPMENT_ASSET_PATHS = "";
DEVELOPMENT_TEAM = ""; DEVELOPMENT_TEAM = "";
@ -1852,7 +1852,7 @@
CODE_SIGN_IDENTITY = "-"; CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 2600; CURRENT_PROJECT_VERSION = 2601;
DEAD_CODE_STRIPPING = YES; DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_TEAM = ""; DEVELOPMENT_TEAM = "";
ENABLE_HARDENED_RUNTIME = YES; ENABLE_HARDENED_RUNTIME = YES;
@ -1896,7 +1896,7 @@
CODE_SIGN_IDENTITY = "-"; CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 2600; CURRENT_PROJECT_VERSION = 2601;
DEAD_CODE_STRIPPING = YES; DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_TEAM = ""; DEVELOPMENT_TEAM = "";
ENABLE_HARDENED_RUNTIME = YES; ENABLE_HARDENED_RUNTIME = YES;