feat: settings as separate window

This commit is contained in:
2026-08-26 09:17:28 +05:00
parent fc5a7638bc
commit 9534c6b1e3
4 changed files with 277 additions and 262 deletions
+12 -6
View File
@@ -116,13 +116,19 @@ HTML-макеты → PNG: **headless Edge** (`--headless --screenshot`), он
домена в конфиг; переключение галочек персистится
- [x] URL-бар привязан к свойству (был захардкожен), метка чекбокса — домен
### E2 — страница настроек — ГОТОВО (базовая версия)
### E2 — страница настроек — ГОТОВО (отдельное окно)
- [x] Переключение вид/настройки по кнопке cog; Esc в настройках = назад;
env `BP_VIEW=settings` для скриншотов
- [x] Список браузеров: иконка + имя + путь (elide), удаление корзиной
- [x] Кнопка «Автодетект»: мерж найденных по пути, без дублей
- [x] Запомненные домены (domain → browser) с удалением
- [x] Настройки = **отдельное окно** `SettingsWindow` (760×560, обычная рамка,
resizable; в маленьком пикере редактировать неудобно). То же событийное
кольцо; Theme-глобал красит оба окна; модели шарятся (ModelRc один на оба)
- [x] cog в пикере → показать окно (центрирование через invoke_from_event_loop —
winit-окно реализуется лениво, как и у пикера)
- [x] Две панели: браузеры (иконка/имя/путь/корзина) + запомненные домены
(domain → browser/корзина); кнопка «Автодетект» (мерж по пути)
- [x] Esc в настройках = закрыть окно; X работает по умолчанию
- [x] env `BP_VIEW=settings` — запуск сразу с окном настроек (без пикера);
нюанс: `run()` авто-показывает своё окно, поэтому в этом режиме цикл
крутится на settings_window
- [ ] Редактирование браузера (имя/путь/флаги через LineEdit) — следующий шаг
- [ ] Чтение флагов из .lnk ярлыков (крейс `lnk`) — по желанию
- [ ] Добавить логотипы Edge/Zen в logos/ (пересоздать набор из alrrr/browser-logos)