From 5a9a67b7b6c81d6ef5814d11db38dd19eda7a0e7 Mon Sep 17 00:00:00 2001 From: Sven Augustin Date: Tue, 10 Feb 2026 15:59:35 +0100 Subject: [PATCH] fixed it, almost --- scam.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/scam.py b/scam.py index 41e5683..619f76d 100755 --- a/scam.py +++ b/scam.py @@ -82,6 +82,7 @@ class MainPanel(wx.Panel): self.camera = None self.orig_cfg = None + self.pipeline_cfg = None self.pls = pls = Pipelines() @@ -160,6 +161,8 @@ class MainPanel(wx.Panel): cfg = pipeline.get() print("current config:", cfg) + self.pipeline_cfg = cfg + # use contents of KNOWN_TYPES to pre-fill cfg #TODO use setdefault instead? cfg_o = cfg @@ -299,12 +302,16 @@ class MainPanel(wx.Panel): def on_change(self, event): - old_cfg = self.orig_cfg + old_cfg = self.pipeline_cfg or {} new_cfg = self.make_cfg() - for k, v in KNOWN_TYPES.items(): - if new_cfg.get(k) is None: - new_cfg[k] = v + new = {} + old = {} + for i in sorted(set(old_cfg) & set(new_cfg)): + old[i] = old_cfg.get(i) + new[i] = new_cfg.get(i) + old_cfg = old + new_cfg = new color = wx.Colour(164, 36, 23) if new_cfg != old_cfg else wx.NullColour self.btn_save.SetBackgroundColour(color)