| Age | Commit message (Collapse) | Author | Files | Lines |
|
A bare TextInput defaults activeFocusOnTab to false, unlike the Controls
TextField some pages use, so Tab skipped every field built from one: the
settings search, Field, the qtmaildir, git, autostart, assistant, OBS,
user, VM and network rows, and the calendar editor. Multi-line TextEdits
stay out of the chain.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
The qtmaildir, Assistant and Ask presets pages wrote a field on Enter,
and a switch or chip the moment it was clicked, so a half-finished
change reached the file and a slip could not be taken back. They now
edit a draft as fields are typed, and a Save and Discard pair in the
page header (SaveBar, through Page.actions) writes or drops it. Save
waits while a field holds a value that cannot be written, and a draft
over a file that changed on disk meanwhile is refused at Save rather
than written over it. A dot in the sidebar marks a page with unsaved
edits; drafts survive moving between pages. The four Mail pages share
one draft, since they are one file. Tool switches are staged too and
renamed on Save; model Load, Prefer and Restart stay immediate, being
actions rather than settings.
Live editing needed two rules. A field is no longer bound to its value,
which would reset the cursor and eat a typed trailing space; it follows
the value only when the draft moves under it. And a Repeater's model is
now the set of row keys (or a count), assigned only when that set
changes: an array rebuilt from the draft on each keystroke recreates
every row, including the one being typed in, which loses its focus.
Git, autostart's rows, HyprSunset, HyprIdle and User keep their own
buttons.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Two settings pages for desktop-assistant.
Assistant edits the daemon's config.toml: server, temperature, tool
rounds, thinking, the system prompt, and the [env] values its tools
read; a switch per tool renames tools/<name>.toml to .toml.off, which
the daemon's glob skips. The daemon reads all of it at startup only, so
the page says when a change is pending and Restart runs assistant.sh
restart, showing its status when the daemon does not come back.
The file is edited line by line, like autostart.lua, so the comments
the example ships with survive: unset keys stay commented out in place.
Every write parses the whole new file with tomllib first and replaces
the old one atomically, so no edit can leave a config the daemon will
not start with. Defaults are read from assistant.py --defaults rather
than copied into QML.
Ask presets edits the canvas's canned questions, which Prefs already
stored for exactly this page: label, question, and the kinds each is
offered for. They apply live.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|