Files
tinycast/Scripts
Abue Ammar b7822817a9 Let palette screens answer their own shortcuts (#678)
* Let palette screens answer their own shortcuts

RootPaletteView had grown back to 1,513 lines, and much of that was feature code: ten key handlers
that cast `screen` to a concrete type, the AI model menus, and views other files use.

- `PaletteShortcut` recognises each row chord (⌘⌫, ⌃X, ⇧⌘C, ⌘Y, ⇧⌘F, ⌘R, …) and carries its
  compact-bar and open-menu guards; a screen acts on it through `PaletteScreen.perform(_:at:)`.
  One handler replaces the ten, and ⌘. and ⌘1…⌘0 go through the same call.
- The AI model and reasoning menus move to `AIModelMenu`, next to the rest of AI.
- `ArmedHover`, `EmptyResults`, `PaletteBackground` and `CompactFavoritesRow` get their own files.
- The rule for what saving an AI connection does to its Keychain key moves out of the view into
  `AIConnectionKeyPolicy`, and the connection editor sheet gets its own file.

No behaviour change. RootPaletteView is 1,204 lines; AISettingsView is 640.

* Refactor AppSettings to improve readability of palettePositions assignment
2026-09-14 18:07:41 +06:00
..
2026-08-14 20:35:26 +06:00
2026-08-09 00:38:33 +06:00