Skip to content
Snippets Groups Projects
Commit 39a9a792 authored by inso's avatar inso
Browse files

Merge branch 'dev0112' into dev

parents 178f6bd7 23e0f20d
No related branches found
No related tags found
No related merge requests found
......@@ -31,7 +31,7 @@ class PreferencesDialog(QDialog, Ui_PreferencesDialog):
for ref in money.Referentials:
self.combo_referential.addItem(QCoreApplication.translate('Account', ref.translated_name()))
self.combo_referential.setCurrentIndex(self.app.preferences['ref'])
for lang in ('en_GB', 'fr_FR'):
for lang in ('en_GB', 'fr_FR', 'de_DE', 'es_ES', 'it_IT', 'pl_PL', 'pt_BR', 'ru_RU'):
self.combo_language.addItem(lang)
self.combo_language.setCurrentText(self.app.preferences.get('lang', 'en_US'))
self.checkbox_expertmode.setChecked(self.app.preferences.get('expert_mode', False))
......
# -*- coding: utf-8 -*-
import logging
import asyncio
from PyQt5.QtWidgets import QWidget, QComboBox, QDialog
from PyQt5.QtCore import pyqtSlot, QEvent, QLocale, QDateTime, pyqtSignal
from PyQt5.QtCore import pyqtSlot, QEvent, QLocale, QDateTime, pyqtSignal, QT_TRANSLATE_NOOP
from ucoinpy.api import bma
from ..tools.exceptions import MembershipNotFoundError
......@@ -24,6 +22,7 @@ from ..tools.exceptions import NoPeerAvailable
class WotTabWidget(QWidget, Ui_WotTabWidget):
money_sent = pyqtSignal()
_search_placeholder = QT_TRANSLATE_NOOP("WotTabWidget", "Research a pubkey, an uid...")
def __init__(self, app):
"""
......@@ -34,7 +33,7 @@ class WotTabWidget(QWidget, Ui_WotTabWidget):
self.setupUi(self)
# Default text when combo lineEdit is empty
self.comboBoxSearch.lineEdit().setPlaceholderText(self.tr('Research a pubkey, an uid...'))
self.comboBoxSearch.lineEdit().setPlaceholderText(self.tr(WotTabWidget._search_placeholder))
# add combobox events
self.comboBoxSearch.lineEdit().returnPressed.connect(self.search)
# To fix a recall of the same item with different case,
......@@ -354,6 +353,13 @@ class WotTabWidget(QWidget, Ui_WotTabWidget):
if result == QDialog.Accepted:
self.window().refresh_contacts()
def retranslateUi(self, widget):
"""
Retranslate missing widgets from generated code
"""
self.comboBoxSearch.lineEdit().setPlaceholderText(self.tr(WotTabWidget._search_placeholder))
super().retranslateUi(self)
def resizeEvent(self, event):
self.busy.resize(event.size())
super().resizeEvent(event)
......
......@@ -8,6 +8,11 @@ import sys
import asyncio
import logging
import os
import traceback
# To debug missing spec
import jsonschema
# To force cx_freeze import
import PyQt5.QtSvg
......@@ -45,6 +50,10 @@ def async_exception_handler(loop, context):
for ignored in ("Unclosed", "socket.gaierror"):
if ignored in line:
return
for line in traceback.format_exception(*exc_info):
for ignored in ("Unclosed", "socket.gaierror"):
if ignored in line:
return
os._exit(1)
......
......@@ -4,11 +4,9 @@ Created on 5 févr. 2014
@author: inso
"""
from ..core.net.api import bma as bma
from ..tools.exceptions import NoPeerAvailable, MembershipNotFoundError
from ..tools.decorators import asyncify, once_at_a_time, cancel_once_task
from PyQt5.QtCore import QAbstractTableModel, QSortFilterProxyModel, Qt, \
QDateTime, QModelIndex, QLocale
QDateTime, QModelIndex, QLocale, QEvent
from PyQt5.QtGui import QColor
import logging
import asyncio
......@@ -87,12 +85,12 @@ class IdentitiesTableModel(QAbstractTableModel):
"""
super().__init__(parent)
self.community = None
self.columns_titles = {'uid': self.tr('UID'),
'pubkey': self.tr('Pubkey'),
'renewed': self.tr('Renewed'),
'expiration': self.tr('Expiration'),
'publication': self.tr('Publication'),
'validation': self.tr('Validation'),}
self.columns_titles = {'uid': lambda: self.tr('UID'),
'pubkey': lambda: self.tr('Pubkey'),
'renewed': lambda: self.tr('Renewed'),
'expiration': lambda: self.tr('Expiration'),
'publication': lambda: self.tr('Publication'),
'validation': lambda: self.tr('Validation'),}
self.columns_ids = ('uid', 'pubkey', 'renewed', 'expiration', 'publication')
self.identities_data = []
self._sig_validity = 0
......@@ -163,7 +161,7 @@ class IdentitiesTableModel(QAbstractTableModel):
def headerData(self, section, orientation, role):
if role == Qt.DisplayRole:
col_id = self.columns_ids[section]
return self.columns_titles[col_id]
return self.columns_titles[col_id]()
def data(self, index, role):
if role == Qt.DisplayRole:
......
......@@ -132,10 +132,10 @@ class NetworkTableModel(QAbstractTableModel):
Node.CORRUPTED: QColor(Qt.lightGray)
}
self.node_states = {
Node.ONLINE: self.tr('Online'),
Node.OFFLINE: self.tr('Offline'),
Node.DESYNCED: self.tr('Unsynchronized'),
Node.CORRUPTED: self.tr('Corrupted')
Node.ONLINE: lambda: self.tr('Online'),
Node.OFFLINE: lambda: self.tr('Offline'),
Node.DESYNCED: lambda: self.tr('Unsynchronized'),
Node.CORRUPTED: lambda: self.tr('Corrupted')
}
self.nodes_data = []
......@@ -212,7 +212,7 @@ class NetworkTableModel(QAbstractTableModel):
if role == Qt.BackgroundColorRole:
return self.node_colors[node[self.columns_types.index('state')]]
if role == Qt.ToolTipRole:
return self.node_states[node[self.columns_types.index('state')]]
return self.node_states[node[self.columns_types.index('state')]]()
return QVariant()
......
......@@ -204,15 +204,15 @@ class HistoryTableModel(QAbstractTableModel):
)
self.column_headers = (
self.tr('Date'),
self.tr('UID/Public key'),
self.tr('Payment'),
self.tr('Deposit'),
self.tr('Comment'),
'State',
'TXID',
'Pubkey',
'Block Number'
lambda: self.tr('Date'),
lambda: self.tr('UID/Public key'),
lambda: self.tr('Payment'),
lambda: self.tr('Deposit'),
lambda: self.tr('Comment'),
lambda: 'State',
lambda: 'TXID',
lambda: 'Pubkey',
lambda: 'Block Number'
)
def change_account(self, account):
......@@ -333,11 +333,11 @@ class HistoryTableModel(QAbstractTableModel):
if role == Qt.DisplayRole:
if self.columns_types[section] == 'payment' or self.columns_types[section] == 'deposit':
return '{:}\n({:})'.format(
self.column_headers[section],
self.column_headers[section](),
self.account.current_ref.diff_units(self.community.short_currency)
)
return self.column_headers[section]
return self.column_headers[section]()
def data(self, index, role):
row = index.row()
......
......@@ -44,6 +44,10 @@ def generate_pro():
pro_file = generate_pro()
try:
if "-noobsolete" in sys.argv:
print("Removing obsolete strings...")
subprocess.call(["pylupdate5", "-noobsolete", pro_file])
else:
subprocess.call(["pylupdate5", pro_file])
finally:
os.remove(pro_file)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment