Files
LorenEteval_Furious/Furious/Window/AGENTS.md
T
2026-08-25 13:52:25 +08:00

18 lines
1.4 KiB
Markdown

# Window and page guidance
- `MainWindow` owns built-in pages/navigation and their persistent Qt tree. Plugin pages are registered through
`PluginNavigationManager`; pages adapt owning controllers/services/repositories rather than becoming state authorities.
- Home is the initial page. Page selection and navigation expansion are session-local, with navigation initially
collapsed; do not persist either state.
- Long-lived pages create controls, timers, services, and connections once. Visibility controls lazy presentation, not
application-level collection or scheduler lifecycles.
- One-shot editors/prompts use managed transient dialogs. `TextEditorWindow` is reusable and needs a deliberate durable
owner. Close buttons call the normal `close()`/`closeEvent` path so confirmation and cleanup remain canonical.
- Use normal layouts and `AppQ*` controls. Blocking file/network/core work leaves the GUI thread, and worker results
return through owned signals without exposing secrets.
- Top-level windows use `AppQMainWindow` first-show preparation and `DEFAULT_WINDOW_SIZE`. Restore saved geometry only
after the persistent child layout exists; a successful `restoreGeometry()` is authoritative, otherwise use the
canonical default/centering path.
- Verify navigation defaults, page lazy behavior, async continuations, unsaved-close flow, geometry restore, and
repeated open/show/hide/destroy stability.