From 62f529184010a279b57784d9e2c71d131b665e3f Mon Sep 17 00:00:00 2001 From: Emilia Date: Tue, 25 Nov 2025 22:29:22 -0500 Subject: [PATCH] Don't eradicate state when I add a new option --- plate-tool-eframe/src/app.rs | 2 ++ plate-tool-eframe/src/plate.rs | 1 + 2 files changed, 3 insertions(+) diff --git a/plate-tool-eframe/src/app.rs b/plate-tool-eframe/src/app.rs index 0ed0d41..bf3e24e 100644 --- a/plate-tool-eframe/src/app.rs +++ b/plate-tool-eframe/src/app.rs @@ -16,8 +16,10 @@ use crate::transfer_menu::{transfer_menu, CurrentTransferState, TransferMenuStat use crate::tree::tree; use crate::upper_menu; +// Make sure all fields are either skipped by serde or impl default! #[non_exhaustive] #[derive(Debug, serde::Serialize, serde::Deserialize)] +#[serde(default)] pub struct MainWindowState { pub show_side_panel: bool, pub plate_display_options: PlateDisplayOptions, diff --git a/plate-tool-eframe/src/plate.rs b/plate-tool-eframe/src/plate.rs index 5073f3a..b08cc89 100644 --- a/plate-tool-eframe/src/plate.rs +++ b/plate-tool-eframe/src/plate.rs @@ -55,6 +55,7 @@ impl WellInfo { } #[derive(Clone, Copy, Debug, serde::Serialize, serde::Deserialize)] +#[serde(default)] pub struct PlateDisplayOptions { pub show_transfer_hashes: bool, pub show_well_volumes: bool,