| Age | Commit message (Collapse) | Author | Files | Lines |
|
The page was the only settings page without the header's buttons, and
it switched the engine from a checkbox beside the interval. Both looked
like the engine had been started when it had not:
- The minutes field saved on editingFinished, which needs Enter or a
focus change. Clicking the checkbox takes neither, so a typed 1 was
left at 30 and the first change was half an hour away.
- Even at the right interval, the first change waited one full
interval, so starting the engine did nothing visible.
The interval and the two sources are now a draft in WallEngine, updated
on every keystroke, and the header carries the state ("running, next
change at hh:mm", "stopped", "unsaved changes") with Reset, Stop and
Start, which reads Apply while running. Start commits the draft, sets
the homes and changes the wallpapers straight away; Apply commits and
restarts the timer. Hearts stay undrafted, written as clicked.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Every wallpaper in the gallery is wide, so hearting a whole folder one
thumbnail at a time is the long way to say "this folder". Each screen
now has a source on the engine page: its hearted list, or one gallery
folder picked by chip, stored as the Wallpapers.groups key in Prefs
(folderH, folderV, "" for the hearts).
A folder that has left the gallery gives an empty pool, so that screen
is left alone rather than quietly falling back to its hearts. The
hearted list stays saved behind a folder source and comes back with the
Hearted chip. Switching source needs nothing from the shuffle: draw()
already drops bag entries that are no longer in the pool.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
A page for the wallpaper engine: the on switch, the interval in
minutes, a Next button, and each screen's hearted list with a remove
control and a dim for files the gallery's scan did not find. The module
reads WallEngine.on itself, because a singleton is built on first use
and the timer has to run from session start, page opened or not.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|