Bind the two develop gestures that were described and not bound
FR-DEV-16's book said resetting a control and hiding a mask layer were reachable by pointer and by finger, and stopped there. The reason was honest: the generated rows have no focus, so "reset the focused control" named a thing the panel could not point at. But a photographer at the keyboard means something narrower than focus. They mean the slider they just dragged too far, and that is a thing the panel can remember. So the Adjustments global keeps the last control moved — two indices, written where the panel forwards the change and cleared when the next photograph opens, so a reset cannot reach back into the previous edit through an index that happens to be shared. R puts it back, through the same callback the track's double-click takes, and is silent until something has moved. The mask layer needs no such notion, because the panel already has a selection: the rows the edge controls point at. H hides or shows those, through the path the ring at the head of the row takes, so it is an edit and a history step exactly as the ring is. A mixed selection goes to shown, since the layer nobody can see is the one being asked about. Both tags now carry the key, and the book says so.
This commit is contained in:
@@ -2497,6 +2497,28 @@ in property <bool> panel-visible: true;
|
||||
root.inspect-toggled(-1, -1);
|
||||
return accept;
|
||||
}
|
||||
// TRACES: FR-DEV-16
|
||||
// R puts back the control last moved. Bare, like
|
||||
// Z: the modifier chords above have all returned.
|
||||
// Nothing has been moved on this photograph until
|
||||
// something has, so the key is silent until then
|
||||
// rather than resetting a control nobody named.
|
||||
if ((event.text == "r" || event.text == "R")
|
||||
&& Adjustments.touched-op >= 0) {
|
||||
Adjustments.param-reset(
|
||||
Adjustments.touched-op,
|
||||
Adjustments.touched-param);
|
||||
return accept;
|
||||
}
|
||||
// TRACES: FR-DEV-16
|
||||
// H hides or shows the selected mask layer — the
|
||||
// ring at the head of its row, from the keyboard.
|
||||
// With nothing selected there is nothing to hide,
|
||||
// and Rust says so by doing nothing.
|
||||
if (event.text == "h" || event.text == "H") {
|
||||
Masking.selected-toggled();
|
||||
return accept;
|
||||
}
|
||||
// GESTURE: Move to the next or previous photograph
|
||||
// where: Develop
|
||||
// touch: Tap a frame in the roll along the
|
||||
|
||||
Reference in New Issue
Block a user