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):
self.setup_combobox()
self.setup_connections()
self.select_last_solver()
def setup_combobox(self):
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)
......@@ -86,6 +92,26 @@ class SelectSolverWindow(PamhyrDialog):
self.find(QPushButton, "pushButton_cancel")\
.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
def solver(self):
return self._solver
......@@ -94,6 +120,8 @@ class SelectSolverWindow(PamhyrDialog):
solver_name = self.get_combobox_text("comboBox")
solver_name = solver_name.rsplit(" - ", 1)[0]
self._config.update_last_solver_used(solver_name)
self._solver = next(
filter(
lambda s: s.name == solver_name,
......
......@@ -35,7 +35,7 @@ logger = logging.getLogger()
class Config(SQL):
def __init__(self):
self._version = '0.0.3'
self._version = '0.0.4'
self.filename = Config.filename()
self.set_default_value()
......@@ -113,11 +113,15 @@ class Config(SQL):
''
)
""")
if int(release) < 3:
self.execute(f"INSERT INTO data VALUES ('last_study', '')")
self.execute(
f"INSERT INTO data VALUES ('close_correctly', 'True')")
if int(release) < 4:
self.execute(f"INSERT INTO data VALUES ('last_solver_name', '')")
self.commit()
def _load_solver(self):
......@@ -195,6 +199,12 @@ class Config(SQL):
v = self.execute("SELECT value FROM data WHERE key='close_correctly'")
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
v = self.execute("SELECT value FROM data WHERE key='debug'")
self.debug = v[0] == "True"
......@@ -250,6 +260,7 @@ class Config(SQL):
"last_study": self.last_study,
"close_correctly": self.close_correctly,
"debug": self.debug,
"last_solver_name": self.last_solver_name,
}
for key in data:
......@@ -306,6 +317,9 @@ class Config(SQL):
self.last_study = ""
self.close_correctly = False
# Last Solver
self.last_solver_name = ""
# Debug
self.debug = False
......@@ -332,6 +346,14 @@ class Config(SQL):
)
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
def filename(cls):
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