Removing RetranslateMixin from MainWindow
This commit is contained in:
parent
fe9b2d7188
commit
25e362c338
|
@ -308,7 +308,6 @@ class MainWindow(Window):
|
||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None):
|
||||||
super(MainWindow, self).__init__(parent)
|
super(MainWindow, self).__init__(parent)
|
||||||
|
|
||||||
self.qmytranslator = self.qsystranslator = None
|
|
||||||
self.indicatorUpdate = None
|
self.indicatorUpdate = None
|
||||||
self.actionStatus = None
|
self.actionStatus = None
|
||||||
|
|
||||||
|
@ -1269,8 +1268,8 @@ class MainWindow(Window):
|
||||||
|
|
||||||
def changeEvent(self, event):
|
def changeEvent(self, event):
|
||||||
if event.type() == QtCore.QEvent.LanguageChange:
|
if event.type() == QtCore.QEvent.LanguageChange:
|
||||||
self.retranslateUi(self)
|
# FIXME: it's called very often
|
||||||
self.init_inbox_popup_menu(False)
|
self.retranslateUi()
|
||||||
self.init_identities_popup_menu(False)
|
self.init_identities_popup_menu(False)
|
||||||
self.blackwhitelist.init_blacklist_popup_menu()
|
self.blackwhitelist.init_blacklist_popup_menu()
|
||||||
if event.type() == QtCore.QEvent.WindowStateChange:
|
if event.type() == QtCore.QEvent.WindowStateChange:
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
"""
|
"""
|
||||||
Dialogs that work with BM address.
|
Dialogs that work with BM address.
|
||||||
"""
|
"""
|
||||||
# pylint: disable=attribute-defined-outside-init,too-few-public-methods,relative-import
|
# pylint: disable=attribute-defined-outside-init,too-few-public-methods
|
||||||
|
|
||||||
import hashlib
|
import hashlib
|
||||||
|
|
||||||
|
@ -9,8 +9,11 @@ from PyQt4 import QtCore, QtGui
|
||||||
|
|
||||||
import queues
|
import queues
|
||||||
import widgets
|
import widgets
|
||||||
from account import AccountMixin, GatewayAccount, MailchuckAccount, accountClass, getSortedAccounts
|
from account import (
|
||||||
from addresses import addBMIfNotPresent, decodeAddress, encodeVarint
|
GatewayAccount, MailchuckAccount, AccountMixin, accountClass,
|
||||||
|
getSortedAccounts
|
||||||
|
)
|
||||||
|
from addresses import decodeAddress, encodeVarint, addBMIfNotPresent
|
||||||
from inventory import Inventory
|
from inventory import Inventory
|
||||||
from tr import _translate
|
from tr import _translate
|
||||||
|
|
||||||
|
|
|
@ -1,20 +1,26 @@
|
||||||
|
import locale
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
from PyQt4 import QtCore, QtGui
|
from PyQt4 import QtCore, QtGui
|
||||||
|
|
||||||
|
import l10n
|
||||||
|
import paths
|
||||||
import settingsmixin
|
import settingsmixin
|
||||||
import widgets
|
import widgets
|
||||||
from bmconfigparser import BMConfigParser
|
from bmconfigparser import BMConfigParser
|
||||||
|
from debug import logger
|
||||||
from foldertree import AddressBookCompleter
|
from foldertree import AddressBookCompleter
|
||||||
from retranslateui import RetranslateMixin
|
|
||||||
from tr import _translate
|
from tr import _translate
|
||||||
|
|
||||||
|
|
||||||
class Window(settingsmixin.SMainWindow, RetranslateMixin):
|
class Window(settingsmixin.SMainWindow):
|
||||||
"""The main PyBitmessage's window"""
|
"""The main PyBitmessage's window"""
|
||||||
|
|
||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None):
|
||||||
super(Window, self).__init__(parent)
|
super(Window, self).__init__(parent)
|
||||||
widgets.load('main.ui', self)
|
widgets.load('main.ui', self)
|
||||||
|
|
||||||
|
self.qmytranslator = self.qsystranslator = None
|
||||||
self.blackwhitelist.rerenderBlackWhiteList()
|
self.blackwhitelist.rerenderBlackWhiteList()
|
||||||
|
|
||||||
addressBookCompleter = AddressBookCompleter()
|
addressBookCompleter = AddressBookCompleter()
|
||||||
|
@ -82,3 +88,62 @@ class Window(settingsmixin.SMainWindow, RetranslateMixin):
|
||||||
if dontconnect else
|
if dontconnect else
|
||||||
_translate("MainWindow", "Go offline", None)
|
_translate("MainWindow", "Go offline", None)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def retranslateUi(self):
|
||||||
|
"""Update widgets' texts which is not taken from ui-file"""
|
||||||
|
self.updateHumanFriendlyTTLDescription(int(
|
||||||
|
self.horizontalSliderTTL.tickPosition() ** 3.199 + 3600))
|
||||||
|
self.networkstatus.retranslateUi()
|
||||||
|
|
||||||
|
# FIXME: this is not best place for this func
|
||||||
|
def change_translation(self, newlocale=None):
|
||||||
|
"""Change translation language for the application"""
|
||||||
|
if newlocale is None:
|
||||||
|
newlocale = l10n.getTranslationLanguage()
|
||||||
|
try:
|
||||||
|
if not self.qmytranslator.isEmpty():
|
||||||
|
QtGui.QApplication.removeTranslator(self.qmytranslator)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
try:
|
||||||
|
if not self.qsystranslator.isEmpty():
|
||||||
|
QtGui.QApplication.removeTranslator(self.qsystranslator)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
self.qmytranslator = QtCore.QTranslator()
|
||||||
|
translationpath = os.path.join(
|
||||||
|
paths.codePath(), 'translations', 'bitmessage_' + newlocale)
|
||||||
|
self.qmytranslator.load(translationpath)
|
||||||
|
QtGui.QApplication.installTranslator(self.qmytranslator)
|
||||||
|
|
||||||
|
self.qsystranslator = QtCore.QTranslator()
|
||||||
|
if paths.frozen:
|
||||||
|
translationpath = os.path.join(
|
||||||
|
paths.codePath(), 'translations', 'qt_' + newlocale)
|
||||||
|
else:
|
||||||
|
translationpath = os.path.join(
|
||||||
|
str(QtCore.QLibraryInfo.location(
|
||||||
|
QtCore.QLibraryInfo.TranslationsPath)), 'qt_' + newlocale)
|
||||||
|
self.qsystranslator.load(translationpath)
|
||||||
|
QtGui.QApplication.installTranslator(self.qsystranslator)
|
||||||
|
|
||||||
|
lang = locale.normalize(l10n.getTranslationLanguage())
|
||||||
|
langs = [
|
||||||
|
lang.split(".")[0] + "." + l10n.encoding,
|
||||||
|
lang.split(".")[0] + "." + 'UTF-8',
|
||||||
|
lang
|
||||||
|
]
|
||||||
|
if 'win32' in sys.platform or 'win64' in sys.platform:
|
||||||
|
langs = [l10n.getWindowsLocale(lang)]
|
||||||
|
for lang in langs:
|
||||||
|
try:
|
||||||
|
l10n.setlocale(locale.LC_ALL, lang)
|
||||||
|
if 'win32' not in sys.platform and 'win64' not in sys.platform:
|
||||||
|
l10n.encoding = locale.nl_langinfo(locale.CODESET)
|
||||||
|
else:
|
||||||
|
l10n.encoding = locale.getlocale()[1]
|
||||||
|
logger.info("Successfully set locale to %s", lang)
|
||||||
|
break
|
||||||
|
except:
|
||||||
|
logger.error("Failed to set locale to %s", lang, exc_info=True)
|
||||||
|
|
|
@ -240,7 +240,7 @@ class NetworkStatus(QtGui.QWidget, RetranslateMixin):
|
||||||
self.labelTotalConnections.setText(
|
self.labelTotalConnections.setText(
|
||||||
_translate(
|
_translate(
|
||||||
"networkstatus", "Total Connections: %1").arg(
|
"networkstatus", "Total Connections: %1").arg(
|
||||||
str(self.tableWidgetConnectionCount.rowCount())))
|
self.tableWidgetConnectionCount.rowCount()))
|
||||||
self.labelStartupTime.setText(_translate(
|
self.labelStartupTime.setText(_translate(
|
||||||
"networkstatus", "Since startup on %1"
|
"networkstatus", "Since startup on %1"
|
||||||
).arg(l10n.formatTimestamp(self.startup)))
|
).arg(l10n.formatTimestamp(self.startup)))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user