From ffbdbe419ab9efa4ecc26f4ad37a3043f8616471 Mon Sep 17 00:00:00 2001 From: Sven Augustin Date: Thu, 26 Jan 2023 18:11:07 +0100 Subject: [PATCH] refactor to get rid of checkbox state-toggle workaround --- grum/mainwin.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/grum/mainwin.py b/grum/mainwin.py index 749b201..3c78ff4 100644 --- a/grum/mainwin.py +++ b/grum/mainwin.py @@ -85,8 +85,7 @@ class MainWindow(QMainWindow): # Remote API calls def new_plot(self, name, cfg): - desc = PlotDescription(name, **cfg) - self.lst.set(name, desc) + desc = self.add_new_desc_to_list(name, cfg) if self.menu_settings.checkboxes["Open new plots"].isChecked(): if not self.mdi.findSubWindow(name): self.sig_make_new_plot.emit(name, desc) @@ -147,16 +146,10 @@ class MainWindow(QMainWindow): if not fns: return - cb = self.menu_settings.checkboxes["Open new plots"] - state = cb.isChecked() - cb.setChecked(False) - for fn in fns: data = read_dict(fn) for k, v in data.items(): - self.new_plot(k, v) - - cb.setChecked(state) + self.add_new_desc_to_list(k, v) # Plumbing @@ -174,6 +167,11 @@ class MainWindow(QMainWindow): name = " | ".join(names) self.activate_or_make_subwin(MDISubMultiPlot, name, descs) + def add_new_desc_to_list(self, name, cfg): + desc = PlotDescription(name, **cfg) + self.lst.set(name, desc) + return desc + #TODO: the following two could be methods to MDIArea?