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

SolverParameters: Fix translate mechanism.

/!\ (must be done for all previous window)
Showing with 47 additions and 25 deletions
+47 -25
......@@ -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,
......
......@@ -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
......@@ -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__(
......
......@@ -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")
}
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