Make "Choose folder" an actual folder picker
It previously fetched the folder list and threw it away into a status line — a button that looked like it worked and did not. Now it opens a browsable picker: click a folder to descend, ".." to go back, "Use this folder" to select, "Cancel" to leave the root unchanged. Descends one level per click because that is what the backend supports: Depth: infinity is frequently disabled server-side and prohibitively expensive where it is not (ARCH §8.4). The chosen root persists immediately on confirm, so it survives a crash before the library is opened. Confirming at the account root is allowed — a user may legitimately keep everything at the top level — and cancelling leaves any previous selection untouched, which a test asserts. Verified against nextcloud.tourolle.paris at both depths: 30 folders at the root, 21 year-folders inside PhotosRaw. 19 launch tests, 38 in dr-ui.
This commit is contained in:
@@ -736,9 +736,20 @@ mod tests {
|
||||
|
||||
let mut g = EditGraph::default_chain();
|
||||
for cap in EditGraph::default_chain().capabilities() {
|
||||
for p in &cap.params {
|
||||
if let dr_pipeline::ParamKind::Scalar { max, .. } = p.kind {
|
||||
g.set_param(cap.id, p.id, max * 0.6);
|
||||
for (i, p) in cap.params.iter().enumerate() {
|
||||
if let dr_pipeline::ParamKind::Scalar { min, max, .. } = p.kind {
|
||||
// Stepped away from each parameter's own default by a
|
||||
// varying fraction. A single shared value would leave the
|
||||
// tone curve inactive: its neutral is the *relationship*
|
||||
// between its points, so setting them all alike keeps it
|
||||
// on the identity diagonal.
|
||||
let step = (max - min) * (0.15 + 0.05 * (i % 4) as f32);
|
||||
let v = if p.default + step <= max {
|
||||
p.default + step
|
||||
} else {
|
||||
p.default - step
|
||||
};
|
||||
g.set_param(cap.id, p.id, v);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user