Skip to content
Snippets Groups Projects
Commit 9618c292 authored by Vincent Texier's avatar Vincent Texier
Browse files

[fix] fix network table model translation for headers, tooltips and member status column

Fix translation executed too early
Fix translation not working outside QObject instance
parent 67226081
No related branches found
No related tags found
1 merge request!7750.50.0
...@@ -5,10 +5,10 @@ from PyQt5.QtCore import ( ...@@ -5,10 +5,10 @@ from PyQt5.QtCore import (
QSortFilterProxyModel, QSortFilterProxyModel,
QDateTime, QDateTime,
QLocale, QLocale,
QT_TRANSLATE_NOOP,
QModelIndex, QModelIndex,
pyqtSignal, pyqtSignal,
) QCoreApplication,
QT_TRANSLATE_NOOP)
from PyQt5.QtGui import QColor, QFont, QIcon from PyQt5.QtGui import QColor, QFont, QIcon
from sakia.data.entities import Node from sakia.data.entities import Node
from duniterpy.api.endpoint import ( from duniterpy.api.endpoint import (
...@@ -72,7 +72,7 @@ class NetworkFilterProxyModel(QSortFilterProxyModel): ...@@ -72,7 +72,7 @@ class NetworkFilterProxyModel(QSortFilterProxyModel):
return QVariant() return QVariant()
_type = self.sourceModel().headerData(section, orientation, role) _type = self.sourceModel().headerData(section, orientation, role)
return NetworkTableModel.header_names[_type] return QCoreApplication.translate("NetworkTableModel", NetworkTableModel.header_names[_type])
def data(self, index, role): def data(self, index, role):
source_index = self.mapToSource(index) source_index = self.mapToSource(index)
...@@ -84,9 +84,9 @@ class NetworkFilterProxyModel(QSortFilterProxyModel): ...@@ -84,9 +84,9 @@ class NetworkFilterProxyModel(QSortFilterProxyModel):
if role == Qt.DisplayRole: if role == Qt.DisplayRole:
if index.column() == NetworkTableModel.columns_types.index("is_member"): if index.column() == NetworkTableModel.columns_types.index("is_member"):
value = { value = {
True: QT_TRANSLATE_NOOP("NetworkTableModel", "yes"), True: QCoreApplication.translate("NetworkTableModel", "yes"),
False: QT_TRANSLATE_NOOP("NetworkTableModel", "no"), False: QCoreApplication.translate("NetworkTableModel", "no"),
None: QT_TRANSLATE_NOOP("NetworkTableModel", "offline"), None: QCoreApplication.translate("NetworkTableModel", "offline"),
} }
return value[source_data] return value[source_data]
...@@ -139,7 +139,6 @@ class NetworkTableModel(QAbstractTableModel): ...@@ -139,7 +139,6 @@ class NetworkTableModel(QAbstractTableModel):
""" """
A Qt abstract item model to display A Qt abstract item model to display
""" """
header_names = { header_names = {
"address": QT_TRANSLATE_NOOP("NetworkTableModel", "Address"), "address": QT_TRANSLATE_NOOP("NetworkTableModel", "Address"),
"port": QT_TRANSLATE_NOOP("NetworkTableModel", "Port"), "port": QT_TRANSLATE_NOOP("NetworkTableModel", "Port"),
...@@ -183,10 +182,11 @@ class NetworkTableModel(QAbstractTableModel): ...@@ -183,10 +182,11 @@ class NetworkTableModel(QAbstractTableModel):
OFFLINE: ":/icons/offline", OFFLINE: ":/icons/offline",
DESYNCED: ":/icons/forked", DESYNCED: ":/icons/forked",
} }
node_states = { node_states = {
ONLINE: lambda: QT_TRANSLATE_NOOP("NetworkTableModel", "Online"), ONLINE: QT_TRANSLATE_NOOP("NetworkTableModel", "Online"),
OFFLINE: lambda: QT_TRANSLATE_NOOP("NetworkTableModel", "Offline"), OFFLINE: QT_TRANSLATE_NOOP("NetworkTableModel", "Offline"),
DESYNCED: lambda: QT_TRANSLATE_NOOP("NetworkTableModel", "Unsynchronized"), DESYNCED: QT_TRANSLATE_NOOP("NetworkTableModel", "Unsynchronized"),
} }
def __init__(self, network_service, parent=None): def __init__(self, network_service, parent=None):
...@@ -335,9 +335,9 @@ class NetworkTableModel(QAbstractTableModel): ...@@ -335,9 +335,9 @@ class NetworkTableModel(QAbstractTableModel):
] ]
if role == Qt.ToolTipRole: if role == Qt.ToolTipRole:
return NetworkTableModel.node_states[ return QCoreApplication.translate("NetworkTableModel", NetworkTableModel.node_states[
node[NetworkTableModel.columns_types.index("state")] node[NetworkTableModel.columns_types.index("state")]
]() ])
if role == Qt.DecorationRole and index.column() == 0: if role == Qt.DecorationRole and index.column() == 0:
return QIcon( return QIcon(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment