mirror of
https://github.com/storytold/lightcraft.git
synced 2026-11-10 10:29:55 -06:00
LR-PREF-GENERAL + LR-IMP-RAWDEFAULT + LR-VIEW-FULLSCREEN/NAVIGATOR/INFOOVERLAY: Settings dialog, import defaults, view modes
Settings (Cmd+, / app menu on macOS, Edit elsewhere) with General, Import, Performance and Interface tabs. App settings (startup view, delete confirmation, GPU, preview size, filmstrip/grid badges, last library) live in UiState.settings (ui.json); library settings (raw / non-raw / per-camera import presets, XMP, thumbnail cache size) go through library.preferences into prefs.json. Import applies the matching default preset; the photo remembers it as its import look (unedited; Reset returns to it). Open Library… switches libraries at runtime. View modes: F full-screen preview (photo on black, arrows step, I cycles the info overlay, Esc exits), Cmd+Shift+F window full screen, Cmd+I cycles the loupe info overlay (off / file + date / exposure), Navigator mini map while zoomed (click/drag pans). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
cec012d032
commit
464d4926b9
@@ -128,7 +128,12 @@ pub fn specs() -> Vec<CommandSpec> {
|
||||
.iter()
|
||||
.filter_map(|id| s.develop_of(*id).map(|d| (*id, d)))
|
||||
.filter_map(|(id, d)| {
|
||||
let fresh = DevelopSettings { wb: lightcraft_develop::WhiteBalance { mode: WbMode::AsShot, ..d.wb }, ..Default::default() };
|
||||
// back to the photo's import defaults when a default preset gave it its look
|
||||
let look = s.catalog.photo(id).and_then(|p| p.import_look.clone());
|
||||
let fresh = match look {
|
||||
Some(l) => (*l).clone(),
|
||||
None => DevelopSettings { wb: lightcraft_develop::WhiteBalance { mode: WbMode::AsShot, ..d.wb }, ..Default::default() },
|
||||
};
|
||||
s.develop_op(id, fresh, "Reset")
|
||||
})
|
||||
.collect();
|
||||
|
||||
Reference in New Issue
Block a user