From 9618c2929a7bde5f9cac9a6ff3fb8ff53d47d892 Mon Sep 17 00:00:00 2001 From: vtexier <vit@free.fr> Date: Sun, 1 Mar 2020 12:52:33 +0100 Subject: [PATCH] [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 --- .../gui/navigation/network/table_model.py | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/sakia/gui/navigation/network/table_model.py b/src/sakia/gui/navigation/network/table_model.py index 99447231..f6430c97 100644 --- a/src/sakia/gui/navigation/network/table_model.py +++ b/src/sakia/gui/navigation/network/table_model.py @@ -5,10 +5,10 @@ from PyQt5.QtCore import ( QSortFilterProxyModel, QDateTime, QLocale, - QT_TRANSLATE_NOOP, QModelIndex, pyqtSignal, -) + QCoreApplication, + QT_TRANSLATE_NOOP) from PyQt5.QtGui import QColor, QFont, QIcon from sakia.data.entities import Node from duniterpy.api.endpoint import ( @@ -72,7 +72,7 @@ class NetworkFilterProxyModel(QSortFilterProxyModel): return QVariant() _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): source_index = self.mapToSource(index) @@ -84,9 +84,9 @@ class NetworkFilterProxyModel(QSortFilterProxyModel): if role == Qt.DisplayRole: if index.column() == NetworkTableModel.columns_types.index("is_member"): value = { - True: QT_TRANSLATE_NOOP("NetworkTableModel", "yes"), - False: QT_TRANSLATE_NOOP("NetworkTableModel", "no"), - None: QT_TRANSLATE_NOOP("NetworkTableModel", "offline"), + True: QCoreApplication.translate("NetworkTableModel", "yes"), + False: QCoreApplication.translate("NetworkTableModel", "no"), + None: QCoreApplication.translate("NetworkTableModel", "offline"), } return value[source_data] @@ -139,7 +139,6 @@ class NetworkTableModel(QAbstractTableModel): """ A Qt abstract item model to display """ - header_names = { "address": QT_TRANSLATE_NOOP("NetworkTableModel", "Address"), "port": QT_TRANSLATE_NOOP("NetworkTableModel", "Port"), @@ -183,10 +182,11 @@ class NetworkTableModel(QAbstractTableModel): OFFLINE: ":/icons/offline", DESYNCED: ":/icons/forked", } + node_states = { - ONLINE: lambda: QT_TRANSLATE_NOOP("NetworkTableModel", "Online"), - OFFLINE: lambda: QT_TRANSLATE_NOOP("NetworkTableModel", "Offline"), - DESYNCED: lambda: QT_TRANSLATE_NOOP("NetworkTableModel", "Unsynchronized"), + ONLINE: QT_TRANSLATE_NOOP("NetworkTableModel", "Online"), + OFFLINE: QT_TRANSLATE_NOOP("NetworkTableModel", "Offline"), + DESYNCED: QT_TRANSLATE_NOOP("NetworkTableModel", "Unsynchronized"), } def __init__(self, network_service, parent=None): @@ -335,9 +335,9 @@ class NetworkTableModel(QAbstractTableModel): ] if role == Qt.ToolTipRole: - return NetworkTableModel.node_states[ + return QCoreApplication.translate("NetworkTableModel", NetworkTableModel.node_states[ node[NetworkTableModel.columns_types.index("state")] - ]() + ]) if role == Qt.DecorationRole and index.column() == 0: return QIcon( -- GitLab