Commit 2736d2f3 authored by Pierre-Antoine Rouby's avatar Pierre-Antoine Rouby
Browse files

SolverRun: Keep in configuration the last solver name used.

Showing with 52 additions and 2 deletions
+52 -2
...@@ -74,10 +74,16 @@ class SelectSolverWindow(PamhyrDialog): ...@@ -74,10 +74,16 @@ class SelectSolverWindow(PamhyrDialog):
self.setup_combobox() self.setup_combobox()
self.setup_connections() self.setup_connections()
self.select_last_solver()
def setup_combobox(self): def setup_combobox(self):
solvers = self._config.solvers solvers = self._config.solvers
solvers_name = list(map(lambda s: s.name + f" - ({s._type})", solvers)) solvers_name = list(
map(
self._format_solver_name,
solvers
)
)
self.combobox_add_items("comboBox", solvers_name) self.combobox_add_items("comboBox", solvers_name)
...@@ -86,6 +92,26 @@ class SelectSolverWindow(PamhyrDialog): ...@@ -86,6 +92,26 @@ class SelectSolverWindow(PamhyrDialog):
self.find(QPushButton, "pushButton_cancel")\ self.find(QPushButton, "pushButton_cancel")\
.clicked.connect(self.reject) .clicked.connect(self.reject)
def select_last_solver(self):
solvers = self._config.solvers
last = self._config.last_solver_name
solver = list(
filter(
lambda s: s.name == last,
solvers
)
)
if len(solver) != 0:
self.set_combobox_text(
"comboBox",
self._format_solver_name(solver[0])
)
def _format_solver_name(self, solver):
return f"{solver.name} - ({solver._type})"
@property @property
def solver(self): def solver(self):
return self._solver return self._solver
...@@ -94,6 +120,8 @@ class SelectSolverWindow(PamhyrDialog): ...@@ -94,6 +120,8 @@ class SelectSolverWindow(PamhyrDialog):
solver_name = self.get_combobox_text("comboBox") solver_name = self.get_combobox_text("comboBox")
solver_name = solver_name.rsplit(" - ", 1)[0] solver_name = solver_name.rsplit(" - ", 1)[0]
self._config.update_last_solver_used(solver_name)
self._solver = next( self._solver = next(
filter( filter(
lambda s: s.name == solver_name, lambda s: s.name == solver_name,
......
...@@ -35,7 +35,7 @@ logger = logging.getLogger() ...@@ -35,7 +35,7 @@ logger = logging.getLogger()
class Config(SQL): class Config(SQL):
def __init__(self): def __init__(self):
self._version = '0.0.3' self._version = '0.0.4'
self.filename = Config.filename() self.filename = Config.filename()
self.set_default_value() self.set_default_value()
...@@ -113,11 +113,15 @@ class Config(SQL): ...@@ -113,11 +113,15 @@ class Config(SQL):
'' ''
) )
""") """)
if int(release) < 3: if int(release) < 3:
self.execute(f"INSERT INTO data VALUES ('last_study', '')") self.execute(f"INSERT INTO data VALUES ('last_study', '')")
self.execute( self.execute(
f"INSERT INTO data VALUES ('close_correctly', 'True')") f"INSERT INTO data VALUES ('close_correctly', 'True')")
if int(release) < 4:
self.execute(f"INSERT INTO data VALUES ('last_solver_name', '')")
self.commit() self.commit()
def _load_solver(self): def _load_solver(self):
...@@ -195,6 +199,12 @@ class Config(SQL): ...@@ -195,6 +199,12 @@ class Config(SQL):
v = self.execute("SELECT value FROM data WHERE key='close_correctly'") v = self.execute("SELECT value FROM data WHERE key='close_correctly'")
self.close_correctly = v[0] == "True" self.close_correctly = v[0] == "True"
# Last Solver
v = self.execute("SELECT value FROM data WHERE key='last_solver_name'")
self.last_solver_name = v[0]
self.last_study = v[0]
# Debug # Debug
v = self.execute("SELECT value FROM data WHERE key='debug'") v = self.execute("SELECT value FROM data WHERE key='debug'")
self.debug = v[0] == "True" self.debug = v[0] == "True"
...@@ -250,6 +260,7 @@ class Config(SQL): ...@@ -250,6 +260,7 @@ class Config(SQL):
"last_study": self.last_study, "last_study": self.last_study,
"close_correctly": self.close_correctly, "close_correctly": self.close_correctly,
"debug": self.debug, "debug": self.debug,
"last_solver_name": self.last_solver_name,
} }
for key in data: for key in data:
...@@ -306,6 +317,9 @@ class Config(SQL): ...@@ -306,6 +317,9 @@ class Config(SQL):
self.last_study = "" self.last_study = ""
self.close_correctly = False self.close_correctly = False
# Last Solver
self.last_solver_name = ""
# Debug # Debug
self.debug = False self.debug = False
...@@ -332,6 +346,14 @@ class Config(SQL): ...@@ -332,6 +346,14 @@ class Config(SQL):
) )
self.commit() self.commit()
def update_last_solver_used(self, solver_name):
self.last_solver_name = solver_name
self.execute(
"UPDATE data SET " +
f"value='{self._db_format(self.last_solver_name)}' " +
"WHERE key='last_solver_name'"
)
@classmethod @classmethod
def filename(cls): def filename(cls):
file = "" file = ""
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment