fix: SettingsWindow 输入框支持 Cmd+A/C/V/X 快捷键

This commit is contained in:
JOJO 2026-04-24 22:27:00 +08:00
parent 2a2582ea5e
commit 7dc0d8ce26

View File

@ -40,6 +40,35 @@ final class SettingsWindow: NSWindow {
center()
}
// MARK: - LSUIElement Edit
override func performKeyEquivalent(with event: NSEvent) -> Bool {
// Cmd
guard event.modifierFlags.contains(.command) else {
return super.performKeyEquivalent(with: event)
}
let selector: Selector?
switch event.charactersIgnoringModifiers?.lowercased() {
case "a": selector = #selector(NSText.selectAll(_:))
case "c": selector = Selector(("copy:"))
case "v": selector = Selector(("paste:"))
case "x": selector = Selector(("cut:"))
default: selector = nil
}
guard let sel = selector else {
return super.performKeyEquivalent(with: event)
}
//
if NSApp.sendAction(sel, to: nil, from: self) {
return true
}
return super.performKeyEquivalent(with: event)
}
private func buildUI() {
guard let content = contentView else { return }