Batch 32: fixes for PRs merged together (#984 leap-year lint, #1344 ColorData field, #1187 preset panel builds)
This commit is contained in:
parent
702f90bfc9
commit
d752076339
|
|
@ -154,6 +154,7 @@ fn dng_colour(tags: &ColorData, t: &CameraTransform, look: Option<&CameraLook>)
|
|||
as_shot_white_xy: None,
|
||||
baseline_exposure: t.baseline_exposure + k.log2(),
|
||||
baseline_sharpness: tags.baseline_sharpness,
|
||||
kelvin_presets: None,
|
||||
profile: ProfileLook {
|
||||
hue_sat_map: [look.and_then(|l| l.hue_sat.clone()), None],
|
||||
tone_curve: look.and_then(|l| dng_tone_curve(&l.tone)),
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ impl DateTime {
|
|||
// A timestamp must represent a real Gregorian calendar day, not just
|
||||
// numbers in the range 1..=31. Invalid dates would otherwise be
|
||||
// accepted from EXIF/XMP and silently normalized during time arithmetic.
|
||||
let leap = self.year % 4 == 0 && (self.year % 100 != 0 || self.year % 400 == 0);
|
||||
let leap = self.year.is_multiple_of(4) && (!self.year.is_multiple_of(100) || self.year.is_multiple_of(400));
|
||||
let max_day = match self.month {
|
||||
1 | 3 | 5 | 7 | 8 | 10 | 12 => 31,
|
||||
4 | 6 | 9 | 11 => 30,
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ pub fn show(app: &mut LightcraftApp, ui: &mut egui::Ui) {
|
|||
// amount slider (applies to the last applied preset)
|
||||
let amt_id = egui::Id::new("preset-amount");
|
||||
let last: Option<AppliedPreset> = ui.data(|d| d.get_temp(amt_id));
|
||||
if let Some(last) = last.filter(|last| last.is_current(&app.session)) {
|
||||
if let Some(last) = last.clone().filter(|last| last.is_current(&app.session)) {
|
||||
let spec = ControlSpec {
|
||||
id: "presetAmount",
|
||||
label: "Amount",
|
||||
|
|
@ -160,7 +160,7 @@ pub fn show(app: &mut LightcraftApp, ui: &mut egui::Ui) {
|
|||
let (pid, name, fav) = (pr.id.clone(), crate::i18n::builtin_label(&pr.name, pr.builtin).to_string(), pr.favorite);
|
||||
let (r, resp) = ui.allocate_exact_size(vec2(ui.available_width(), row_h), Sense::click());
|
||||
register(ui.ctx(), format!("preset:{pid}"), r);
|
||||
let is_last = last.as_ref().is_some_and(|(l, _)| *l == pid);
|
||||
let is_last = last.as_ref().is_some_and(|l| l.id == pid);
|
||||
if is_last {
|
||||
ui.painter().rect_filled(r, 0.0, t.tool_active);
|
||||
} else if resp.hovered() {
|
||||
|
|
@ -192,12 +192,10 @@ pub fn show(app: &mut LightcraftApp, ui: &mut egui::Ui) {
|
|||
ui.data_mut(|d| d.insert_temp(egui::Id::new("last-preset-hover"), (id, pr.clone(), label)));
|
||||
}
|
||||
}
|
||||
if resp.clicked() {
|
||||
if app.run("preset.apply", json!({"id": pid, "amount": 100})).is_ok() {
|
||||
ui.data_mut(|d| d.insert_temp(amt_id, AppliedPreset::new(&app.session, pid.clone(), 100.0)));
|
||||
ui.data_mut(|d| d.remove::<(lightcraft_catalog::PhotoId, Preset, String)>(egui::Id::new("last-preset-hover")));
|
||||
app.toast(ui.ctx(), crate::i18n::tr_format!("Preset: {name}", name = name));
|
||||
}
|
||||
if resp.clicked() && app.run("preset.apply", json!({"id": pid, "amount": 100})).is_ok() {
|
||||
ui.data_mut(|d| d.insert_temp(amt_id, AppliedPreset::new(&app.session, pid.clone(), 100.0)));
|
||||
ui.data_mut(|d| d.remove::<(lightcraft_catalog::PhotoId, Preset, String)>(egui::Id::new("last-preset-hover")));
|
||||
app.toast(ui.ctx(), crate::i18n::tr_format!("Preset: {name}", name = name));
|
||||
}
|
||||
let (builtin, group) = (pr.builtin, pr.group.clone());
|
||||
resp.context_menu(|ui| {
|
||||
|
|
|
|||
Loading…
Reference in New Issue