From 81d4b1e657d2d92af6ad47b5ae3c8a04d579934a Mon Sep 17 00:00:00 2001
From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr>
Date: Mon, 12 Jun 2023 17:36:59 +0200
Subject: [PATCH] Solver: Fix minor issue and add long name translate.

---
 src/Solver/ASolver.py               |  4 ++--
 src/Solver/Solvers.py               | 10 ++++++++++
 src/View/Configure/Solver/Window.py | 14 +++++++-------
 src/View/Configure/Window.py        |  8 +++++++-
 4 files changed, 26 insertions(+), 10 deletions(-)

diff --git a/src/Solver/ASolver.py b/src/Solver/ASolver.py
index e39152f4..3f2491c7 100644
--- a/src/Solver/ASolver.py
+++ b/src/Solver/ASolver.py
@@ -49,11 +49,11 @@ class AbstractSolver(object):
 
     @property
     def name(self):
-        return self.name
+        return self._name
 
     @property
     def description(self):
-        return self.description
+        return self._description
 
     @property
     def status(self):
diff --git a/src/Solver/Solvers.py b/src/Solver/Solvers.py
index 25cb95e3..11000bfd 100644
--- a/src/Solver/Solvers.py
+++ b/src/Solver/Solvers.py
@@ -1,8 +1,18 @@
 # -*- coding: utf-8 -*-
 
+from PyQt5.QtCore import QCoreApplication
+
 from Solver.GenericSolver import GenericSolver
 from Solver.Mage import Mage7, Mage8
 
+_translate = QCoreApplication.translate
+
+solver_long_name = {
+    "generic": _translate("Solvers", "Generic"),
+    "mage7": _translate("Solvers", "Mage version 7"),
+    "mage8": _translate("Solvers", "Mage version 8"),
+}
+
 solver_type_list = {
     "generic": GenericSolver,
     "mage7": Mage7,
diff --git a/src/View/Configure/Solver/Window.py b/src/View/Configure/Solver/Window.py
index 64faf8da..71d4f798 100644
--- a/src/View/Configure/Solver/Window.py
+++ b/src/View/Configure/Solver/Window.py
@@ -27,15 +27,15 @@ class ConfigureSolverWindow(ASubWindow):
         self.connect()
 
     def copy_data(self):
-        self.set_combobox_text("comboBox_solver", self.data.get_type())
+        self.set_combobox_text("comboBox_solver", self.data.type)
         self.set_line_edit_text("lineEdit_name", self.data.name)
         self.set_line_edit_text("lineEdit_description", self.data.description)
-        self.set_line_edit_text("lineEdit_input", self.data.path_input)
-        self.set_line_edit_text("lineEdit_input_cmd", self.data.cmd_input)
-        self.set_line_edit_text("lineEdit_solver", self.data.path_solver)
-        self.set_line_edit_text("lineEdit_solver_cmd", self.data.cmd_solver)
-        self.set_line_edit_text("lineEdit_output", self.data.path_output)
-        self.set_line_edit_text("lineEdit_output_cmd", self.data.cmd_output)
+        self.set_line_edit_text("lineEdit_input", self.data._path_input)
+        self.set_line_edit_text("lineEdit_input_cmd", self.data._cmd_input)
+        self.set_line_edit_text("lineEdit_solver", self.data._path_solver)
+        self.set_line_edit_text("lineEdit_solver_cmd", self.data._cmd_solver)
+        self.set_line_edit_text("lineEdit_output", self.data._path_output)
+        self.set_line_edit_text("lineEdit_output_cmd", self.data._cmd_output)
 
     def connect(self):
         # File button
diff --git a/src/View/Configure/Window.py b/src/View/Configure/Window.py
index 7bb3d61f..43ee4528 100644
--- a/src/View/Configure/Window.py
+++ b/src/View/Configure/Window.py
@@ -25,6 +25,7 @@ from PyQt5.QtWidgets import (
     QComboBox, QUndoStack, QShortcut, QHeaderView,
 )
 
+from Solver.Solvers import solver_long_name
 
 class SolverTableModel(QAbstractTableModel):
     def __init__(self, headers=[], rows=[]):
@@ -42,7 +43,12 @@ class SolverTableModel(QAbstractTableModel):
         if role != Qt.ItemDataRole.DisplayRole:
             return QVariant()
 
-        return self.rows[index.row()][self.headers[index.column()]]
+        ret = self.rows[index.row()][self.headers[index.column()]]
+
+        if self.headers[index.column()] == "type":
+            ret = solver_long_name[ret]
+
+        return ret
 
     def headerData(self, section, orientation, role):
         if (role == Qt.ItemDataRole.DisplayRole and
-- 
GitLab