mirror of https://gitlab.com/pamhyr/pamhyr2
SolverRun: Keep in configuration the last solver name used.
parent
00afc6c06b
commit
2736d2f399
|
|
@ -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 = ""
|
||||
|
|
|
|||
Loading…
Reference in New Issue