Commit Graph

3 Commits

Author SHA1 Message Date
Levi Neely 0e163f6ee6 gui: fix focus stealing from dialogs during session tree rebuild
buildSessionTree() and updateSessionTree() now save/restore
Window.activeFocusItem instead of only promptInput.activeFocus.
This prevents sessionTreeModel.clear() from pulling focus out of
open modal dialogs (NewSessionDialog, NewAgentDialog).

Also add forceActiveFocus() on dialog open so the first field is
immediately focused.
2026-08-14 14:27:37 +02:00
Levi Neely e24d332d50 gui: auto-switch to newly created agent, remove remote field from agent dialog
createAgent now returns the new agent ID so the dialog can immediately
switch to it. Previously the first agent created required a GUI restart
to select.

Also removes the Remote field from NewAgentDialog — remote belongs to
the session, not the agent.
2026-08-08 14:02:10 +02:00
Levi Neely 2d6e0ed787 gui: extract dialogs and chat delegate into components
Phase 1 of GUI cleanup - component extraction:
- SettingsDialog.qml: theme and font settings (118 lines)
- NewSessionDialog.qml: session creation form (79 lines)
- NewAgentDialog.qml: agent creation form (174 lines)
- ChatBlockDelegate.qml: chat block with text/diagram segments (322 lines)

main.qml reduced from 1685 to 1030 lines (39% reduction).
Updated CMakeLists.txt for both Qt6 and KF5 builds.
2026-08-07 17:40:09 +02:00