2020-06-09 09:44:41 +00:00
|
|
|
"""RetranslateMixin module.
|
|
|
|
"""
|
|
|
|
# pylint: disable=too-few-public-methods
|
2016-03-24 12:33:03 +00:00
|
|
|
from PyQt4 import QtGui
|
|
|
|
import widgets
|
|
|
|
|
2020-06-09 09:44:41 +00:00
|
|
|
|
2016-03-24 12:33:03 +00:00
|
|
|
class RetranslateMixin(object):
|
2020-06-09 09:44:41 +00:00
|
|
|
"""RetranslateMixin class for dynamically change language during runtime."""
|
2016-03-24 12:33:03 +00:00
|
|
|
def retranslateUi(self):
|
|
|
|
defaults = QtGui.QWidget()
|
|
|
|
widgets.load(self.__class__.__name__.lower() + '.ui', defaults)
|
|
|
|
for attr, value in defaults.__dict__.iteritems():
|
|
|
|
setTextMethod = getattr(value, "setText", None)
|
|
|
|
if callable(setTextMethod):
|
|
|
|
getattr(self, attr).setText(getattr(defaults, attr).text())
|
|
|
|
elif isinstance(value, QtGui.QTableWidget):
|
2020-06-09 09:44:41 +00:00
|
|
|
for i in range(value.columnCount()):
|
|
|
|
getattr(self, attr).horizontalHeaderItem(i).setText(
|
|
|
|
getattr(defaults, attr).horizontalHeaderItem(i).text())
|
|
|
|
for i in range(value.rowCount()):
|
|
|
|
getattr(self, attr).verticalHeaderItem(i).setText(
|
|
|
|
getattr(defaults, attr).verticalHeaderItem(i).text())
|