Навигация стрелками по полям диалогов

Оба диалога наследуются от FormScreen с action_walk: у Screen нет
готового action_focus_next, поэтому биндинг стрелок на него молча
ничего не делал. Вверх и вниз ходят по полям, влево и вправо остаются
за курсором внутри поля ввода — биндинги намеренно без priority.
This commit is contained in:
2026-08-20 05:54:16 +03:00
parent e8fd19714a
commit 9404d1dd08
4 changed files with 65 additions and 4 deletions
+4
View File
@@ -88,6 +88,10 @@ matches(text, query) ; общий фильтр для pick() и обоих с
установленном textual: TUI посреди CLI-команды сломал бы pipe-сценарии.
- Текст `StepError``«{what} завершился с кодом {N}»` — менять нельзя: на него завязано
глушение ошибок `pg_restore`.
- Диалоги наследуются от `FormScreen` и подмешивают `FORM_NAV`: у `Screen` нет готового
`action_focus_next`, поэтому обход полей стрелками сделан своим `action_walk`. Биндинги без
`priority` — внутри `Input` стрелки вверх/вниз свободны и всплывают до экрана сами, а
влево/вправо остаются за курсором.
- Новый `Ctrl`-хоткей добавляется только через `with_ru_layout([...])`: при русской раскладке
терминал присылает `ctrl+в` вместо `ctrl+d`, и голый биндинг молча не срабатывает. Полноту
дублей проверяет тест, перебирающий `PgSyncApp.BINDINGS`.