diff --git a/src/View/SolverParameters/Table.py b/src/View/SolverParameters/Table.py index 5d84ed6f82c1d7aa5d496691ee7f9c11cb918178..7b44159d512a91c2428cc34f0b4e518965b83dca 100644 --- a/src/View/SolverParameters/Table.py +++ b/src/View/SolverParameters/Table.py @@ -16,7 +16,7 @@ from PyQt5.QtWidgets import ( ) from View.SolverParameters.UndoCommand import * -from View.SolverParameters.translate import * +from View.SolverParameters import translate as tr from Solver.Solvers import solver_long_name, solver_type_list @@ -25,7 +25,7 @@ _translate = QCoreApplication.translate class TableModel(QAbstractTableModel): def __init__(self, data=None, undo=None, tab=""): super(QAbstractTableModel, self).__init__() - self._headers = list(table_headers.keys()) + self._headers = list(tr.table_headers.keys()) self._data = data self._undo = undo self._tab = tab @@ -57,17 +57,20 @@ class TableModel(QAbstractTableModel): if cname == "name": value = self._params.get(row)[cname] - if value in names: - value = names[value] + if value in tr.names: + value = tr.names[value] return value elif cname == "value": - return self._params.get(row)[cname] + value = self._params.get(row)[cname] + if value in tr.yes_no: + value = tr.yes_no[value] + return value return QVariant() def headerData(self, section, orientation, role): if role == Qt.ItemDataRole.DisplayRole and orientation == Qt.Orientation.Horizontal: - return table_headers[self._headers[section]] + return tr.table_headers[self._headers[section]] return QVariant() @@ -79,6 +82,9 @@ class TableModel(QAbstractTableModel): column = index.column() if self._headers[column] == "value": + if value in tr.r_yes_no: + value = tr.r_yes_no[value].lower() + self._undo.push( SetCommand( self._params, row, diff --git a/src/View/SolverParameters/UndoCommand.py b/src/View/SolverParameters/UndoCommand.py index 6a8dc1eb211c5183479ec51b03def2e4b5bf6e24..fda0552f1da7eb1be1a07e8d3dd5c5372cbe19c5 100644 --- a/src/View/SolverParameters/UndoCommand.py +++ b/src/View/SolverParameters/UndoCommand.py @@ -23,4 +23,5 @@ class SetCommand(QUndoCommand): self._data.get(self._index)[self._column] = self._old def redo(self): + print(self._new) self._data.get(self._index)[self._column] = self._new diff --git a/src/View/SolverParameters/Window.py b/src/View/SolverParameters/Window.py index c5aa264af62aa658dfc7c667dcd7a6e67f5591db..c51926f944809470d9d9f089b13f458bbc2b370d 100644 --- a/src/View/SolverParameters/Window.py +++ b/src/View/SolverParameters/Window.py @@ -25,7 +25,7 @@ from PyQt5.QtWidgets import ( from View.SolverParameters.UndoCommand import * from View.SolverParameters.Table import TableModel -from View.SolverParameters.translate import * +from View.SolverParameters import translate as tr from Solver.Solvers import solver_long_name, solver_type_list @@ -34,6 +34,8 @@ _translate = QCoreApplication.translate class SolverParametersWindow(ASubMainWindow, ListedSubWindow): def __init__(self, title="Solver parameters", study=None, parent=None): + tr.init() + title = title + " - " + study.name super(SolverParametersWindow, self).__init__( diff --git a/src/View/SolverParameters/translate.py b/src/View/SolverParameters/translate.py index 5d8a3a7d3d299abcb75a7a04c51fa2d474a2fbc2..1b394212ffb04b7d337c2be4fee5f1269c26837a 100644 --- a/src/View/SolverParameters/translate.py +++ b/src/View/SolverParameters/translate.py @@ -4,24 +4,37 @@ from PyQt5.QtCore import QCoreApplication _translate = QCoreApplication.translate -table_headers = { - "name": _translate("LateralContribution", "Name"), - "value": _translate("LateralContribution", "Value") -} +table_headers = None +yes_no = None +r_yes_no = None +names = None + +def init(): + global table_headers + table_headers = { + "name": _translate("LateralContribution", "Name"), + "value": _translate("LateralContribution", "Value") + } + + # Used to translate user parameter with value yes or no + global yes_no + yes_no = { + "yes": _translate("SolverParameters", "Yes"), + "no": _translate("SolverParameters", "No"), + "y": _translate("SolverParameters", "Y"), + "n": _translate("SolverParameters", "N"), + } -# Used to translate user parameter with value yes or no -yes_no = { - "yes": _translate("SolverParameters", "Yes"), - "no": _translate("SolverParameters", "No"), - "y": _translate("SolverParameters", "Y"), - "n": _translate("SolverParameters", "N"), # Reverse - _translate("SolverParameters", "Yes"): "Yes", - _translate("SolverParameters", "No"): "No", - _translate("SolverParameters", "Y"): "y", - _translate("SolverParameters", "N"): "n", -} + global r_yes_no + r_yes_no = { + _translate("SolverParameters", "Yes"): "yes", + _translate("SolverParameters", "No"): "no", + _translate("SolverParameters", "Y"): "y", + _translate("SolverParameters", "N"): "n", + } -names = { - "mage_time_step": _translate("SolverParameters", "Time step in second") -} + global names + names = { + "mage_time_step": _translate("SolverParameters", "Time step in second") + }