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_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):
|
||||||
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):
|
||||||
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()
|
||||||
|
|
||||||
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):
|
||||||
''
|
''
|
||||||
)
|
)
|
||||||
""")
|
""")
|
||||||
|
|
||||||
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):
|
||||||
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):
|
||||||
"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):
|
||||||
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):
|
||||||
)
|
)
|
||||||
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 = ""
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue