diff --git a/src/cutecoin/gui/certification.py b/src/cutecoin/gui/certification.py index 4ebd81fd08f6c0f6bdf3b51f025770ba9449050f..c76f14682aa9f91552e17b74bd69e54d25a2f0e3 100644 --- a/src/cutecoin/gui/certification.py +++ b/src/cutecoin/gui/certification.py @@ -12,7 +12,6 @@ import asyncio class CertificationDialog(QDialog, Ui_CertificationDialog): - """ classdocs """ diff --git a/src/cutecoin/gui/community_tab.py b/src/cutecoin/gui/community_tab.py index e9e3653fbf713161fe3e28ff84f09fd8d65779e5..6d733008d442f0be45285d0bb49db3d491e35146 100644 --- a/src/cutecoin/gui/community_tab.py +++ b/src/cutecoin/gui/community_tab.py @@ -5,7 +5,7 @@ Created on 2 févr. 2014 """ import logging -from PyQt5.QtCore import Qt, pyqtSlot +from PyQt5.QtCore import Qt, pyqtSlot, QEvent from PyQt5.QtGui import QIcon, QCursor from PyQt5.QtWidgets import QWidget, QMessageBox, QAction, QMenu, QDialog, \ QAbstractItemView @@ -284,3 +284,13 @@ class CommunityTabWidget(QWidget, Ui_CommunityTabWidget): self.table_identities.model().sourceModel().refresh_identities(identities) self.table_identities.resizeColumnsToContents() + def changeEvent(self, event): + """ + Intercepte LanguageChange event to translate UI + :param QEvent QEvent: Event + :return: + """ + if event.type() == QEvent.LanguageChange: + self.retranslateUi(self) + return super(CommunityTabWidget, self).changeEvent(event) + diff --git a/src/cutecoin/gui/currency_tab.py b/src/cutecoin/gui/currency_tab.py index 4767d36d205c48eaea236956685e707c1699c49e..c3f40928de991c98466e53d314cc830b11967631 100644 --- a/src/cutecoin/gui/currency_tab.py +++ b/src/cutecoin/gui/currency_tab.py @@ -7,7 +7,7 @@ Created on 2 févr. 2014 import time import logging from PyQt5.QtWidgets import QWidget, QMessageBox -from PyQt5.QtCore import QModelIndex, pyqtSlot, QDateTime, QLocale +from PyQt5.QtCore import QModelIndex, pyqtSlot, QDateTime, QLocale, QEvent from PyQt5.QtGui import QIcon from ..gen_resources.currency_tab_uic import Ui_CurrencyTabWidget @@ -202,3 +202,15 @@ class CurrencyTabWidget(QWidget, Ui_CurrencyTabWidget): if self.tab_informations: self.tab_informations.refresh() + + def changeEvent(self, event): + """ + Intercepte LanguageChange event to translate UI + :param QEvent QEvent: Event + :return: + """ + if event.type() == QEvent.LanguageChange: + self.retranslateUi(self) + self.refresh_status() + return super(CurrencyTabWidget, self).changeEvent(event) + diff --git a/src/cutecoin/gui/homescreen.py b/src/cutecoin/gui/homescreen.py index 15ffa516e54578667eb2fee82e557d663b13b27c..535bb29887bc6383a2a28bf40a276d6fd7128812 100644 --- a/src/cutecoin/gui/homescreen.py +++ b/src/cutecoin/gui/homescreen.py @@ -5,6 +5,7 @@ Created on 31 janv. 2015 """ from PyQt5.QtWidgets import QWidget +from PyQt5.QtCore import QEvent from ..gen_resources.homescreen_uic import Ui_HomeScreenWidget from ..__init__ import __version__ from . import toast @@ -43,3 +44,15 @@ class HomeScreenWidget(QWidget, Ui_HomeScreenWidget): version_info=version_info, version_url=version_url)) + def changeEvent(self, event): + """ + Intercepte LanguageChange event to translate UI + :param QEvent QEvent: Event + :return: + """ + if event.type() == QEvent.LanguageChange: + self.retranslateUi(self) + self.refresh_text() + return super(HomeScreenWidget, self).changeEvent(event) + + diff --git a/src/cutecoin/gui/informations_tab.py b/src/cutecoin/gui/informations_tab.py index 5d494e1a5b03de02d45c955ec3f139c9bd9f2b8d..5625282c8b5a73a772b4fb8fabe7b1f01ae2f7f4 100644 --- a/src/cutecoin/gui/informations_tab.py +++ b/src/cutecoin/gui/informations_tab.py @@ -6,7 +6,7 @@ Created on 31 janv. 2015 import logging import math -from PyQt5.QtCore import QLocale, QDateTime +from PyQt5.QtCore import QLocale, QDateTime, QEvent from PyQt5.QtWidgets import QWidget from ..gen_resources.informations_tab_uic import Ui_InformationsTabWidget @@ -218,3 +218,14 @@ class InformationsTabWidget(QWidget, Ui_InformationsTabWidget): self.tr('Maximum distance between each WoT member and a newcomer'), ) ) + + def changeEvent(self, event): + """ + Intercepte LanguageChange event to translate UI + :param QEvent QEvent: Event + :return: + """ + if event.type() == QEvent.LanguageChange: + self.retranslateUi(self) + self.refresh() + return super(InformationsTabWidget, self).changeEvent(event) diff --git a/src/cutecoin/gui/mainwindow.py b/src/cutecoin/gui/mainwindow.py index a893c9dbe819e0e0ab88618d6a53ba1df6e856e2..aef391f5e22a28a26adf1de545f79de77cc9578a 100644 --- a/src/cutecoin/gui/mainwindow.py +++ b/src/cutecoin/gui/mainwindow.py @@ -8,7 +8,7 @@ from ..gen_resources.about_uic import Ui_AboutPopup from PyQt5.QtWidgets import QMainWindow, QAction, QFileDialog, QProgressBar, \ QMessageBox, QLabel, QComboBox, QDialog, QApplication -from PyQt5.QtCore import QSignalMapper, QObject, QLocale, \ +from PyQt5.QtCore import QSignalMapper, QObject, QLocale, QEvent, \ pyqtSlot, pyqtSignal, QDate, QDateTime, QTimer, QUrl, Qt, QCoreApplication from PyQt5.QtGui import QIcon, QDesktopServices @@ -351,3 +351,14 @@ class MainWindow(QMainWindow, Ui_MainWindow): self.app.stop() super().closeEvent(event) + def changeEvent(self, event): + """ + Intercepte LanguageChange event to translate UI + :param QEvent QEvent: Event + :return: + """ + if event.type() == QEvent.LanguageChange: + self.retranslateUi(self) + self.refresh() + return super(MainWindow, self).changeEvent(event) + diff --git a/src/cutecoin/gui/network_tab.py b/src/cutecoin/gui/network_tab.py index 73349efb34f90896c25bc1d5fe57977a0df3c19c..efdd76241b36ecf1c0ea98b97738de9d41b9f1a8 100644 --- a/src/cutecoin/gui/network_tab.py +++ b/src/cutecoin/gui/network_tab.py @@ -9,7 +9,7 @@ import asyncio from PyQt5.QtGui import QCursor, QDesktopServices from PyQt5.QtWidgets import QWidget, QMenu, QAction -from PyQt5.QtCore import Qt, QModelIndex, pyqtSlot, QUrl +from PyQt5.QtCore import Qt, QModelIndex, pyqtSlot, QUrl, QEvent from ..models.network import NetworkTableModel, NetworkFilterProxyModel from ..core.net.api import bma as qtbma from ..gen_resources.network_tab_uic import Ui_NetworkTabWidget @@ -98,4 +98,13 @@ class NetworkTabWidget(QWidget, Ui_NetworkTabWidget): def manual_nodes_refresh(self): self.community.network.refresh_once() - + def changeEvent(self, event): + """ + Intercepte LanguageChange event to translate UI + :param QEvent QEvent: Event + :return: + """ + if event.type() == QEvent.LanguageChange: + self.retranslateUi(self) + self.refresh_nodes() + return super(NetworkTabWidget, self).changeEvent(event) diff --git a/src/cutecoin/gui/password_asker.py b/src/cutecoin/gui/password_asker.py index dcb65ddd1851dab1c0ae2cd21365f3a06a2979a8..30815fe826d8901887e4d6a60ff921615545e262 100644 --- a/src/cutecoin/gui/password_asker.py +++ b/src/cutecoin/gui/password_asker.py @@ -7,6 +7,7 @@ Created on 24 dec. 2014 import logging import re +from PyQt5.QtCore import QEvent from PyQt5.QtWidgets import QDialog, QMessageBox from ..gen_resources.password_asker_uic import Ui_PasswordAskerDialog @@ -67,6 +68,16 @@ class PasswordAskerDialog(QDialog, Ui_PasswordAskerDialog): self.password = "" super().reject() + def changeEvent(self, event): + """ + Intercepte LanguageChange event to translate UI + :param QEvent QEvent: Event + :return: + """ + if event.type() == QEvent.LanguageChange: + self.retranslateUi(self) + return super(PasswordAskerDialog, self).changeEvent(event) + def detect_non_printable(data): control_chars = ''.join(map(chr, list(range(0, 32)) + list(range(127, 160)))) diff --git a/src/cutecoin/gui/preferences.py b/src/cutecoin/gui/preferences.py index 0372232d729004eaa1215f7da98e50eba0392aa8..919d50de092ee9435132737ead8351d74ac8eba7 100644 --- a/src/cutecoin/gui/preferences.py +++ b/src/cutecoin/gui/preferences.py @@ -78,6 +78,8 @@ class PreferencesDialog(QDialog, Ui_PreferencesDialog): 'proxy_port': self.spinbox_proxy_port.value(), 'international_system_of_units': self.checkbox_international_system.isChecked()} self.app.save_preferences(pref) + # change UI translation + self.app.switch_language() toast.display(self.tr("Preferences"), self.tr("A restart is needed to apply your new preferences.")) super().accept() diff --git a/src/cutecoin/gui/transactions_tab.py b/src/cutecoin/gui/transactions_tab.py index 2758daa9dee0649396df3dac6b0c2e439e7a51a3..50eaa7deb36d77fb3bef5986899db15ef05b2c31 100644 --- a/src/cutecoin/gui/transactions_tab.py +++ b/src/cutecoin/gui/transactions_tab.py @@ -1,6 +1,6 @@ from PyQt5.QtWidgets import QWidget, QAbstractItemView, QHeaderView, QDialog, \ QMenu, QAction, QApplication, QMessageBox -from PyQt5.QtCore import Qt, QDateTime, QTime, QModelIndex, QLocale, QCoreApplication, pyqtSlot +from PyQt5.QtCore import Qt, QDateTime, QTime, QModelIndex, QCoreApplication, pyqtSlot, QEvent from PyQt5.QtGui import QCursor from ..gen_resources.transactions_tab_uic import Ui_transactionsTabWidget from ..models.txhistory import HistoryTableModel, TxFilterProxyModel @@ -237,3 +237,14 @@ QMessageBox.Ok | QMessageBox.Cancel) self.table_history.model().set_period(ts_from, ts_to) self.refresh_balance() + + def changeEvent(self, event): + """ + Intercepte LanguageChange event to translate UI + :param QEvent QEvent: Event + :return: + """ + if event.type() == QEvent.LanguageChange: + self.retranslateUi(self) + self.refresh() + return super(TransactionsTabWidget, self).changeEvent(event) diff --git a/src/cutecoin/gui/wallets_tab.py b/src/cutecoin/gui/wallets_tab.py index 32e601f33e3359a3655f1319e8bf8cc8caedc71e..245cab78ece53388137e30e254738c540288c56d 100644 --- a/src/cutecoin/gui/wallets_tab.py +++ b/src/cutecoin/gui/wallets_tab.py @@ -7,7 +7,7 @@ import asyncio import logging from PyQt5.QtWidgets import QWidget, QMenu, QAction, QApplication, QDialog, QMessageBox -from PyQt5.QtCore import QDateTime, QModelIndex, Qt, QLocale +from PyQt5.QtCore import QDateTime, QModelIndex, Qt, QLocale, QEvent from PyQt5.QtGui import QCursor from ..core.registry import Identity @@ -340,3 +340,14 @@ Revoking your UID can only success if it is not already validated by the network self.button_membership.hide() self.button_leaving.hide() self.button_publish_uid.show() + + def changeEvent(self, event): + """ + Intercepte LanguageChange event to translate UI + :param QEvent QEvent: Event + :return: + """ + if event.type() == QEvent.LanguageChange: + self.retranslateUi(self) + self.refresh() + return super(WalletsTabWidget, self).changeEvent(event) diff --git a/src/cutecoin/gui/wot_tab.py b/src/cutecoin/gui/wot_tab.py index ec8d5754f830fa4bec443814d1360f328ea96b89..c7e8572e094d9135f4b5b5332b534a30b55f586c 100644 --- a/src/cutecoin/gui/wot_tab.py +++ b/src/cutecoin/gui/wot_tab.py @@ -3,7 +3,7 @@ import logging from cutecoin.core.graph import Graph from PyQt5.QtWidgets import QWidget, QComboBox, QLineEdit -from PyQt5.QtCore import pyqtSlot +from PyQt5.QtCore import pyqtSlot, QEvent from cutecoin.core.net.api import bma from cutecoin.core.registry import BlockchainState from ..gen_resources.wot_tab_uic import Ui_WotTabWidget @@ -218,3 +218,14 @@ class WotTabWidget(QWidget, Ui_WotTabWidget): logging.debug('community.get_block request error : ' + str(e)) return False return block.mediantime + + def changeEvent(self, event): + """ + Intercepte LanguageChange event to translate UI + :param QEvent QEvent: Event + :return: + """ + if event.type() == QEvent.LanguageChange: + self.retranslateUi(self) + self.refresh() + return super(WotTabWidget, self).changeEvent(event)