Merge branch 'kyuupichan-commas'
This commit is contained in:
commit
6646b7a43f
|
@ -28,7 +28,7 @@ from electrum.plugins import run_hook
|
||||||
class HistoryWidget(MyTreeWidget):
|
class HistoryWidget(MyTreeWidget):
|
||||||
|
|
||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None):
|
||||||
MyTreeWidget.__init__(self, parent, self.create_menu, [ '', _('Date'), _('Description') , _('Amount'), _('Balance')], [40, 140, None, 140, 140])
|
MyTreeWidget.__init__(self, parent, self.create_menu, [ '', _('Date'), _('Description') , _('Amount'), _('Balance')], 2)
|
||||||
self.config = self.parent.config
|
self.config = self.parent.config
|
||||||
self.setSortingEnabled(False)
|
self.setSortingEnabled(False)
|
||||||
|
|
||||||
|
|
|
@ -20,6 +20,6 @@ class HistoryWidget(QTreeWidget):
|
||||||
if date is None:
|
if date is None:
|
||||||
date = _("Unknown")
|
date = _("Unknown")
|
||||||
item = QTreeWidgetItem([amount, address, date])
|
item = QTreeWidgetItem([amount, address, date])
|
||||||
if float(amount) < 0:
|
if amount.find('-') != -1:
|
||||||
item.setForeground(0, QBrush(QColor("#BC1E1E")))
|
item.setForeground(0, QBrush(QColor("#BC1E1E")))
|
||||||
self.insertTopLevelItem(0, item)
|
self.insertTopLevelItem(0, item)
|
||||||
|
|
|
@ -629,7 +629,7 @@ class ElectrumWindow(QMainWindow):
|
||||||
buttons.addWidget(self.new_request_button)
|
buttons.addWidget(self.new_request_button)
|
||||||
|
|
||||||
self.receive_requests_label = QLabel(_('My Requests'))
|
self.receive_requests_label = QLabel(_('My Requests'))
|
||||||
self.receive_list = MyTreeWidget(self, self.receive_list_menu, [_('Date'), _('Account'), _('Address'), _('Description'), _('Amount'), _('Status')], [])
|
self.receive_list = MyTreeWidget(self, self.receive_list_menu, [_('Date'), _('Account'), _('Address'), _('Description'), _('Amount'), _('Status')], 3)
|
||||||
self.receive_list.currentItemChanged.connect(self.receive_item_changed)
|
self.receive_list.currentItemChanged.connect(self.receive_item_changed)
|
||||||
self.receive_list.itemClicked.connect(self.receive_item_changed)
|
self.receive_list.itemClicked.connect(self.receive_item_changed)
|
||||||
self.receive_list.setSortingEnabled(True)
|
self.receive_list.setSortingEnabled(True)
|
||||||
|
@ -901,7 +901,7 @@ class ElectrumWindow(QMainWindow):
|
||||||
|
|
||||||
self.from_label = QLabel(_('From'))
|
self.from_label = QLabel(_('From'))
|
||||||
grid.addWidget(self.from_label, 3, 0)
|
grid.addWidget(self.from_label, 3, 0)
|
||||||
self.from_list = MyTreeWidget(self, self.from_list_menu, ['',''], [350, 50])
|
self.from_list = MyTreeWidget(self, self.from_list_menu, ['',''])
|
||||||
self.from_list.setHeaderHidden(True)
|
self.from_list.setHeaderHidden(True)
|
||||||
self.from_list.setMaximumHeight(80)
|
self.from_list.setMaximumHeight(80)
|
||||||
grid.addWidget(self.from_list, 3, 1, 1, 3)
|
grid.addWidget(self.from_list, 3, 1, 1, 3)
|
||||||
|
@ -968,12 +968,11 @@ class ElectrumWindow(QMainWindow):
|
||||||
self.fee_e.textChanged.connect(entry_changed)
|
self.fee_e.textChanged.connect(entry_changed)
|
||||||
|
|
||||||
self.invoices_label = QLabel(_('Invoices'))
|
self.invoices_label = QLabel(_('Invoices'))
|
||||||
self.invoices_list = MyTreeWidget(
|
self.invoices_list = MyTreeWidget(self, self.create_invoice_menu,
|
||||||
self,
|
[_('Date'), _('Requestor'), _('Description'), _('Amount'), _('Status')], 2)
|
||||||
self.create_invoice_menu,
|
self.invoices_list.header().setResizeMode(1, QHeaderView.Interactive)
|
||||||
[_('Date'), _('Requestor'), _('Description'), _('Amount'), _('Status')],
|
self.invoices_list.setColumnWidth(1, 200)
|
||||||
[150, 150, None, 150, 100]
|
|
||||||
)
|
|
||||||
vbox0 = QVBoxLayout()
|
vbox0 = QVBoxLayout()
|
||||||
vbox0.addLayout(grid)
|
vbox0.addLayout(grid)
|
||||||
vbox0.addLayout(buttons)
|
vbox0.addLayout(buttons)
|
||||||
|
@ -1309,14 +1308,14 @@ class ElectrumWindow(QMainWindow):
|
||||||
return w
|
return w
|
||||||
|
|
||||||
def create_addresses_tab(self):
|
def create_addresses_tab(self):
|
||||||
l = MyTreeWidget(self, self.create_receive_menu, [ _('Address'), _('Label'), _('Balance'), _('Tx')], [370, None, 130])
|
l = MyTreeWidget(self, self.create_receive_menu, [ _('Address'), _('Label'), _('Balance'), _('Tx')], 1)
|
||||||
l.setSelectionMode(QAbstractItemView.ExtendedSelection)
|
l.setSelectionMode(QAbstractItemView.ExtendedSelection)
|
||||||
l.setSortingEnabled(False)
|
l.setSortingEnabled(False)
|
||||||
self.address_list = l
|
self.address_list = l
|
||||||
return self.create_list_tab(l)
|
return self.create_list_tab(l)
|
||||||
|
|
||||||
def create_contacts_tab(self):
|
def create_contacts_tab(self):
|
||||||
l = MyTreeWidget(self, self.create_contact_menu, [_('Key'), _('Value'), _('Type')], [250, None, 130])
|
l = MyTreeWidget(self, self.create_contact_menu, [_('Key'), _('Value'), _('Type')], 1)
|
||||||
self.contacts_list = l
|
self.contacts_list = l
|
||||||
return self.create_list_tab(l)
|
return self.create_list_tab(l)
|
||||||
|
|
||||||
|
|
|
@ -260,7 +260,7 @@ def filename_field(parent, config, defaultname, select_msg):
|
||||||
|
|
||||||
class MyTreeWidget(QTreeWidget):
|
class MyTreeWidget(QTreeWidget):
|
||||||
|
|
||||||
def __init__(self, parent, create_menu, headers, column_width):
|
def __init__(self, parent, create_menu, headers, stretch_column=0):
|
||||||
QTreeWidget.__init__(self, parent)
|
QTreeWidget.__init__(self, parent)
|
||||||
self.parent = parent
|
self.parent = parent
|
||||||
self.setColumnCount(len(headers))
|
self.setColumnCount(len(headers))
|
||||||
|
@ -277,13 +277,9 @@ class MyTreeWidget(QTreeWidget):
|
||||||
self.edit_column = None
|
self.edit_column = None
|
||||||
self.itemDoubleClicked.connect(self.edit_label)
|
self.itemDoubleClicked.connect(self.edit_label)
|
||||||
self.itemChanged.connect(self.label_changed)
|
self.itemChanged.connect(self.label_changed)
|
||||||
# set column width
|
# stretch
|
||||||
for i, width in enumerate(column_width):
|
for i in range(len(headers)):
|
||||||
if width is None:
|
self.header().setResizeMode(i, QHeaderView.Stretch if i == stretch_column else QHeaderView.ResizeToContents)
|
||||||
self.header().setResizeMode(i, QHeaderView.Stretch)
|
|
||||||
self.edit_column = i
|
|
||||||
else:
|
|
||||||
self.setColumnWidth(i, width)
|
|
||||||
self.setSortingEnabled(True)
|
self.setSortingEnabled(True)
|
||||||
|
|
||||||
def on_activated(self, item):
|
def on_activated(self, item):
|
||||||
|
|
36
lib/util.py
36
lib/util.py
|
@ -108,28 +108,24 @@ def user_dir():
|
||||||
|
|
||||||
|
|
||||||
def format_satoshis(x, is_diff=False, num_zeros = 0, decimal_point = 8, whitespaces=False):
|
def format_satoshis(x, is_diff=False, num_zeros = 0, decimal_point = 8, whitespaces=False):
|
||||||
from decimal import Decimal
|
from locale import localeconv
|
||||||
if x is None:
|
x = int(x) # Some callers pass Decimal
|
||||||
return 'unknown'
|
scale_factor = pow (10, decimal_point)
|
||||||
s = Decimal(x)
|
integer_part = "{:n}".format(int(abs(x) / float(scale_factor)))
|
||||||
sign, digits, exp = s.as_tuple()
|
if x < 0:
|
||||||
digits = map(str, digits)
|
integer_part = '-' + integer_part
|
||||||
while len(digits) < decimal_point + 1:
|
|
||||||
digits.insert(0,'0')
|
|
||||||
digits.insert(-decimal_point,'.')
|
|
||||||
s = ''.join(digits).rstrip('0')
|
|
||||||
if sign:
|
|
||||||
s = '-' + s
|
|
||||||
elif is_diff:
|
elif is_diff:
|
||||||
s = "+" + s
|
integer_part = '+' + integer_part
|
||||||
|
dp = localeconv()['decimal_point']
|
||||||
p = s.find('.')
|
fract_part = ("{:0" + str(decimal_point) + "}").format(abs(x) % scale_factor)
|
||||||
s += "0"*( 1 + num_zeros - ( len(s) - p ))
|
fract_part = fract_part.rstrip('0')
|
||||||
|
if len(fract_part) < num_zeros:
|
||||||
|
fract_part += "0" * (num_zeros - len(fract_part))
|
||||||
|
result = integer_part + dp + fract_part
|
||||||
if whitespaces:
|
if whitespaces:
|
||||||
s += " "*( 1 + decimal_point - ( len(s) - p ))
|
result += " " * (decimal_point - len(fract_part))
|
||||||
s = " "*( 13 - decimal_point - ( p )) + s
|
result = " " * (15 - len(result)) + result
|
||||||
return s
|
return result
|
||||||
|
|
||||||
|
|
||||||
def format_time(timestamp):
|
def format_time(timestamp):
|
||||||
import datetime
|
import datetime
|
||||||
|
|
Loading…
Reference in New Issue