diff --git a/src/View/MainWindow.py b/src/View/MainWindow.py index e48b4803ab86d0aeac5419f84a9d3c934d2b3032..b07c2c1dc1ae9884ef0a5311ed01e8fabdd5da21 100644 --- a/src/View/MainWindow.py +++ b/src/View/MainWindow.py @@ -138,6 +138,7 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit): self.setup_connection() self.default_style() self.setup_debug_mode(init=True) + self.setup_results() self.trans = QTranslator(self) # self.ui.retranslateUi() @@ -360,6 +361,16 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit): for action in model_action: self.enable_actions(action, not no_model) + def setup_results(self): + self._last_solver = None + self._last_results = None + + for solver in self.conf.solvers: + if solver.name == self.conf.last_solver_name: + self._last_solver = solver + self.enable_actions("action_menu_results_last", True) + return + def set_results(self, solver, results): self._last_solver = solver self._last_results = results @@ -821,6 +832,12 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit): if results is None: results = self._last_results + if self._last_results is None: + results = solver.results( + self._study, + self._solver_workdir(solver) + ) + # No results available if results is None: return @@ -845,8 +862,19 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit): ) res.show() + def _solver_workdir(self, solver): + workdir = os.path.join( + os.path.dirname(self._study.filename), + "_PAMHYR_", + self._study.name.replace(" ", "_"), + solver.name.replace(" ", "_"), + ) + + return workdir + + def open_last_results(self): - if self._last_solver is None or self._last_results is None: + if self._last_solver is None: return self.open_solver_results(self._last_solver, self._last_results) diff --git a/src/View/RunSolver/Window.py b/src/View/RunSolver/Window.py index b950b92956ee9d0aa0296d260355647ad5183604..d8cf9b87f105dc43927fb21a55e09a4c4575afd4 100644 --- a/src/View/RunSolver/Window.py +++ b/src/View/RunSolver/Window.py @@ -264,7 +264,7 @@ class SolverLogWindow(PamhyrWindow): self.find(QAction, "action_log_file").setEnabled(True) self._update_logs_all() - self._update_get_results() + # self._update_get_results() self._update_logs_all() @@ -348,7 +348,8 @@ class SolverLogWindow(PamhyrWindow): def results(self): if self._results is None: self._results = self._solver.results( - self._study, self._workdir, qlog=self._output) + self._study, self._workdir, qlog=self._output + ) self._parent.set_results(self._solver, self._results) self._parent.open_solver_results(self._solver, self._results)