Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Fixed

- Tab and Shift-Tab move focus out of the AI rules text field in the connection form instead of inserting a tab character. (#1490)
- The cell inspector's Set NULL, Set DEFAULT, copy, and SQL-function actions are now in a right-click context menu on each field, so they're reachable by keyboard, Full Keyboard Access, and VoiceOver, not only on hover. (#1490)
- VoiceOver reliability: grid selection changes are announced to all assistive technologies (not only when VoiceOver was already on), the drop and truncate dialog toggles describe their effect, and the favorite query editor is labeled. (#1490)
- Tab moves keyboard focus between the window panes (sidebar, results, inspector) by rebuilding the key view loop when the window appears. (#1490)
Expand Down
12 changes: 12 additions & 0 deletions TablePro/Views/ConnectionForm/Panes/AIRulesPaneView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -87,5 +87,17 @@ private struct AIRulesEditor: NSViewRepresentable {
guard let textView = notification.object as? NSTextView else { return }
text.wrappedValue = textView.string
}

func textView(_ textView: NSTextView, doCommandBy commandSelector: Selector) -> Bool {
if commandSelector == #selector(NSResponder.insertTab(_:)) {
textView.window?.selectNextKeyView(nil)
return true
}
if commandSelector == #selector(NSResponder.insertBacktab(_:)) {
textView.window?.selectPreviousKeyView(nil)
return true
}
return false
}
}
}
Loading