Open presets from a menu at the foot of the tool rail

Presets were a "Presets…" button in develop's top bar that opened a
sheet over the photograph, so applying one was two clicks with the
picture covered. They are now an entry pinned to the bottom of the tool
rail, apart from the tools because a preset arms nothing, and it opens a
menu beside the rail: the same sectioned rows the sheet lists, one click
to apply to the open photograph. The menu's last row, "Save or manage…",
opens the sheet, which keeps saving, renaming, reverting and importing,
since those take a name or a path.

The menu is a PopupWindow for the film list's reasons, with the list in
a clipped box of its own; the Flickable alone let its last row draw over
the manage row. Choosing from it zeroes preset-apply-count before
applying, since the grid may have left its selection count there.

The manual says where presets are now and gains a picture of the open
menu. The scenes reach the sheet through the menu and aim the manage
row from the rail's entry, as the film list's rows are aimed, because
the automation reports a popup's elements in the popup's coordinates.
This commit is contained in:
2026-09-27 16:08:33 -04:00
parent e22128c16b
commit f52c4cb8b6
13 changed files with 366 additions and 81 deletions
+4 -8
View File
@@ -100,7 +100,7 @@ export component StatusBar inherits Rectangle {
viewport-width: max(self.width, strip.preferred-width);
// Related controls sit closer together than unrelated ones: Pick and
// Reject, Undo and Redo, Copy, Paste and Presets, Help and Settings are
// Reject, Undo and Redo, Copy and Paste, Help and Settings are
// each a group at `gap-sm`, with `gap` between groups. It reads as the
// pairs it is, and it is also what keeps Settings on screen at 1600
// pixels wide once Help joined the strip.
@@ -285,13 +285,9 @@ export component StatusBar inherits Rectangle {
clicked => { Transfer.paste(); }
}
// The saved half: this edit, kept under a name.
Button {
text: "Presets…";
enabled: Develop.enabled;
y: (parent.height - self.height) / 2;
clicked => { Transfer.open-presets(); }
}
// The saved half — this edit, kept under a name — is at the foot
// of the tool rail now (`toolrail.slint`), as a menu beside the
// photograph rather than a sheet over it.
}
// Show or hide the develop column. On a tablet the panel is 280px of a