fix(ui): give the Settings Theme row back its top gap

The Application section stacks its rows with rowOverlap(), a negative
spacing that trades away one label's duplicated text inset. The Theme
row's value is a Select, which paints its box out to the row's edge and
has no inset to give, so the overlap closed the gap instead: 0.46 px
between the Notifications checkbox and the dropdown, against ~8 px
between the checkbox rows.

cancelRowOverlap adds that one padding back on the Theme row's top edge
only, restoring the gap to 7.5 px without touching the other rows or the
column width.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
mixeme
2026-07-27 22:04:18 +03:00
parent 9dd461e35e
commit 9a45a7be6f
4 changed files with 55 additions and 1 deletions
+5 -1
View File
@@ -60,7 +60,11 @@ func newSettingsLayout(f settingsFormFields) fyne.CanvasObject {
settingsRow(capW, "", f.autostartStatus),
settingsRow(capW, "Tray", f.minimizeToTray),
settingsRow(capW, "Notifications", f.notifications),
settingsRow(capW, "Theme", f.themeSelect),
// Theme is the one row here whose value is not text: the Select paints
// a box out to the row's edge, so the section's overlap would leave it
// flush against the Notifications checkbox. Cancelling the overlap for
// this row alone restores the gap the checkbox rows have.
cancelRowOverlap(settingsRow(capW, "Theme", f.themeSelect)),
),
widget.NewSeparator(),
// Queue used to inline its own container.NewVBox at the theme's default