2.6.0 SP1 // Bug fixes. Merge PR #132 from upd/2.6.0sp1
This commit is contained in:
commit
19c9ee8456
|
@ -83,8 +83,16 @@ extension KeyHandler {
|
|||
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())
|
||||
|
||||
return true
|
||||
|
|
|
@ -96,7 +96,7 @@ extension ctlInputMethod {
|
|||
menu.addItem(NSMenuItem.separator()) // ---------------------
|
||||
|
||||
menu.addItem(
|
||||
withTitle: NSLocalizedString("Open User Data Folder", comment: ""),
|
||||
withTitle: NSLocalizedString("Open User Dictionary Folder", comment: ""),
|
||||
action: #selector(openUserDataFolder(_:)), keyEquivalent: ""
|
||||
)
|
||||
menu.addItem(
|
||||
|
|
|
@ -119,8 +119,8 @@ public class ctlPopupCompositionBuffer: NSWindowController {
|
|||
var bigRect = rect
|
||||
bigRect.size.width += NSFont.systemFontSize
|
||||
bigRect.size.height += NSFont.systemFontSize
|
||||
rect.origin.x += NSFont.systemFontSize / 2
|
||||
rect.origin.y += NSFont.systemFontSize / 2
|
||||
rect.origin.x += ceil(NSFont.systemFontSize / 2)
|
||||
rect.origin.y += ceil(NSFont.systemFontSize / 2)
|
||||
messageTextField.frame = rect
|
||||
window?.setFrame(bigRect, display: true)
|
||||
}
|
||||
|
|
|
@ -168,8 +168,8 @@ public class ctlTooltip: NSWindowController {
|
|||
var bigRect = rect
|
||||
bigRect.size.width += NSFont.systemFontSize
|
||||
bigRect.size.height += NSFont.systemFontSize
|
||||
rect.origin.x += NSFont.systemFontSize / 2
|
||||
rect.origin.y += NSFont.systemFontSize / 2
|
||||
rect.origin.x += ceil(NSFont.systemFontSize / 2)
|
||||
rect.origin.y += ceil(NSFont.systemFontSize / 2)
|
||||
messageText.frame = rect
|
||||
window?.setFrame(bigRect, display: true)
|
||||
messageText.draw(messageText.frame)
|
||||
|
|
|
@ -60,7 +60,7 @@
|
|||
"CNS11643 Mode" = "CNS11643 Mode";
|
||||
"JIS Shinjitai Output" = "JIS Shinjitai Output";
|
||||
"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…";
|
||||
"Reboot vChewing…" = "Reboot vChewing…";
|
||||
"auto" = "Follow System Settings";
|
||||
|
|
|
@ -60,7 +60,7 @@
|
|||
"CNS11643 Mode" = "CNS11643 Mode";
|
||||
"JIS Shinjitai Output" = "JIS Shinjitai Output";
|
||||
"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…";
|
||||
"Reboot vChewing…" = "Reboot vChewing…";
|
||||
"auto" = "Follow System Settings";
|
||||
|
|
|
@ -60,7 +60,7 @@
|
|||
"CNS11643 Mode" = "全字庫モード";
|
||||
"JIS Shinjitai Output" = "JIS 新字体モード";
|
||||
"Per-Char Associated Phrases" = "全候補入力で連想語彙";
|
||||
"Open User Data Folder" = "ユーザー資料フォルダを開く";
|
||||
"Open User Dictionary Folder" = "ユーザー辞書フォルダを開く";
|
||||
"Edit Associated Phrases…" = "連想語彙を編集…";
|
||||
"Reboot vChewing…" = "入力アプリ再起動…";
|
||||
"auto" = "システム設定に準ず";
|
||||
|
|
|
@ -60,7 +60,7 @@
|
|||
"CNS11643 Mode" = "全字库模式";
|
||||
"JIS Shinjitai Output" = "JIS 新字体模式";
|
||||
"Per-Char Associated Phrases" = "逐字选字联想模式";
|
||||
"Open User Data Folder" = "开启使用者资料夹";
|
||||
"Open User Dictionary Folder" = "开启使用者辞典资料夹";
|
||||
"Edit Associated Phrases…" = "编辑联想词…";
|
||||
"Reboot vChewing…" = "重新启动输入法…";
|
||||
"auto" = "与系统设定一致";
|
||||
|
|
|
@ -60,7 +60,7 @@
|
|||
"CNS11643 Mode" = "全字庫模式";
|
||||
"JIS Shinjitai Output" = "JIS 新字體模式";
|
||||
"Per-Char Associated Phrases" = "逐字選字聯想模式";
|
||||
"Open User Data Folder" = "開啟使用者資料夾";
|
||||
"Open User Dictionary Folder" = "開啟使用者辭典資料夾";
|
||||
"Edit Associated Phrases…" = "編輯聯想詞…";
|
||||
"Reboot vChewing…" = "重新啟動輸入法…";
|
||||
"auto" = "與系統設定一致";
|
||||
|
|
|
@ -17,6 +17,7 @@ class ctlClientListMgr: NSWindowController, NSTableViewDelegate, NSTableViewData
|
|||
super.windowDidLoad()
|
||||
localize()
|
||||
tblClients.delegate = self
|
||||
tblClients.allowsMultipleSelection = true
|
||||
tblClients.dataSource = self
|
||||
tblClients.reloadData()
|
||||
}
|
||||
|
@ -79,11 +80,11 @@ extension ctlClientListMgr {
|
|||
alert.accessoryView = scrollview
|
||||
alert.beginSheetModal(for: window) { result in
|
||||
switch result {
|
||||
case .alertFirstButtonReturn:
|
||||
case .alertFirstButtonReturn, .alertSecondButtonReturn:
|
||||
theTextView.textContainer?.textView?.string.components(separatedBy: "\n").filter { !$0.isEmpty }.forEach {
|
||||
self.applyNewValue($0)
|
||||
}
|
||||
case .alertSecondButtonReturn:
|
||||
if result == .alertFirstButtonReturn { break }
|
||||
IME.dlgOpenPath.title = NSLocalizedString(
|
||||
"Choose the target application bundle.", comment: ""
|
||||
)
|
||||
|
@ -132,18 +133,24 @@ extension ctlClientListMgr {
|
|||
}
|
||||
|
||||
@IBAction func btnRemoveClientClicked(_: Any) {
|
||||
if tblClients.selectedRow >= mgrPrefs.clientsIMKTextInputIncapable.count { return }
|
||||
if tblClients.selectedRow < 0 { return }
|
||||
let isLastRow: Bool = {
|
||||
if mgrPrefs.clientsIMKTextInputIncapable.count < 2 { return false }
|
||||
return tblClients.selectedRow == mgrPrefs.clientsIMKTextInputIncapable.count - 1
|
||||
}()
|
||||
mgrPrefs.clientsIMKTextInputIncapable.remove(at: tblClients.selectedRow)
|
||||
guard let minIndexSelected = tblClients.selectedRowIndexes.min() else { return }
|
||||
if minIndexSelected >= mgrPrefs.clientsIMKTextInputIncapable.count { return }
|
||||
if minIndexSelected < 0 { return }
|
||||
var isLastRow = false
|
||||
tblClients.selectedRowIndexes.sorted().reversed().forEach { index in
|
||||
isLastRow = {
|
||||
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 {
|
||||
tblClients.selectRowIndexes(.init(arrayLiteral: tblClients.selectedRow - 1), byExtendingSelection: false)
|
||||
tblClients.selectRowIndexes(.init(arrayLiteral: minIndexSelected - 1), byExtendingSelection: false)
|
||||
}
|
||||
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? {
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<key>CFBundleShortVersionString</key>
|
||||
<string>2.6.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>2600</string>
|
||||
<string>2601</string>
|
||||
<key>UpdateInfoEndpoint</key>
|
||||
<string>https://gitee.com/vchewing/vChewing-macOS/raw/main/Update-Info.plist</string>
|
||||
<key>UpdateInfoSite</key>
|
||||
|
|
|
@ -1483,7 +1483,7 @@
|
|||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 2600;
|
||||
CURRENT_PROJECT_VERSION = 2601;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
|
@ -1522,7 +1522,7 @@
|
|||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 2600;
|
||||
CURRENT_PROJECT_VERSION = 2601;
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
|
@ -1560,7 +1560,7 @@
|
|||
CODE_SIGN_IDENTITY = "-";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
CURRENT_PROJECT_VERSION = 2600;
|
||||
CURRENT_PROJECT_VERSION = 2601;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
ENABLE_HARDENED_RUNTIME = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
|
@ -1612,7 +1612,7 @@
|
|||
CODE_SIGN_IDENTITY = "-";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
CURRENT_PROJECT_VERSION = 2600;
|
||||
CURRENT_PROJECT_VERSION = 2601;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
ENABLE_HARDENED_RUNTIME = YES;
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
|
@ -1746,7 +1746,7 @@
|
|||
CODE_SIGN_IDENTITY = "-";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
CURRENT_PROJECT_VERSION = 2600;
|
||||
CURRENT_PROJECT_VERSION = 2601;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
DEVELOPMENT_ASSET_PATHS = "";
|
||||
DEVELOPMENT_TEAM = "";
|
||||
|
@ -1805,7 +1805,7 @@
|
|||
CODE_SIGN_IDENTITY = "-";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
CURRENT_PROJECT_VERSION = 2600;
|
||||
CURRENT_PROJECT_VERSION = 2601;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
DEVELOPMENT_ASSET_PATHS = "";
|
||||
DEVELOPMENT_TEAM = "";
|
||||
|
@ -1852,7 +1852,7 @@
|
|||
CODE_SIGN_IDENTITY = "-";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
CURRENT_PROJECT_VERSION = 2600;
|
||||
CURRENT_PROJECT_VERSION = 2601;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
DEVELOPMENT_TEAM = "";
|
||||
ENABLE_HARDENED_RUNTIME = YES;
|
||||
|
@ -1896,7 +1896,7 @@
|
|||
CODE_SIGN_IDENTITY = "-";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
CURRENT_PROJECT_VERSION = 2600;
|
||||
CURRENT_PROJECT_VERSION = 2601;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
DEVELOPMENT_TEAM = "";
|
||||
ENABLE_HARDENED_RUNTIME = YES;
|
||||
|
|
Loading…
Reference in New Issue