Browse Source

history tab: render channel opening/closure on a single line

dependabot/pip/contrib/deterministic-build/ecdsa-0.13.3
ThomasV 6 years ago
parent
commit
108a986ef0
  1. 27
      electrum/gui/qt/history_list.py

27
electrum/gui/qt/history_list.py

@ -172,7 +172,7 @@ class HistoryModel(QAbstractItemModel, Logger):
HistoryColumns.ONCHAIN_BALANCE:
tx_item['balance'].value if not is_lightning else None,
HistoryColumns.CHANNELS_BALANCE:
tx_item['balance_msat'] if is_lightning else None,
tx_item['balance_msat'] if 'balance_msat' in tx_item else None,
HistoryColumns.FIAT_VALUE:
tx_item['fiat_value'].value if 'fiat_value' in tx_item else None,
HistoryColumns.FIAT_ACQ_PRICE:
@ -218,7 +218,7 @@ class HistoryModel(QAbstractItemModel, Logger):
balance = tx_item['balance'].value
balance_str = self.parent.format_amount(balance, whitespaces=True)
return QVariant(balance_str)
elif col == HistoryColumns.CHANNELS_BALANCE and is_lightning:
elif col == HistoryColumns.CHANNELS_BALANCE and 'balance_msat' in tx_item:
balance = tx_item['balance_msat']//1000
balance_str = self.parent.format_amount(balance, whitespaces=True)
return QVariant(balance_str)
@ -274,15 +274,26 @@ class HistoryModel(QAbstractItemModel, Logger):
self.beginRemoveRows(QModelIndex(), 0, old_length)
self.transactions.clear()
self.endRemoveRows()
self.beginInsertRows(QModelIndex(), 0, len(r['transactions'])+len(lightning_history)-1)
transactions = OrderedDictWithIndex()
for tx_item in r['transactions']:
txid = tx_item['txid']
self.transactions[txid] = tx_item
transactions[txid] = tx_item
for tx_item in lightning_history:
tx_item['lightning'] = True
tx_item['value'] = Satoshis(tx_item['amount_msat']/1000 * (-1 if tx_item['direction'] =='sent' else 1))
key = tx_item['payment_hash'] if 'payment_hash' in tx_item else tx_item['type'] + tx_item['channel_id']
self.transactions[key] = tx_item
txid = tx_item.get('txid')
ln_value = tx_item['amount_msat']/1000 * (-1 if tx_item['direction'] =='sent' else 1)
if txid and txid in transactions:
item = transactions[txid]
item['label'] = tx_item['label']
item['value'] = Satoshis(item['value'].value + ln_value)
item['balance_msat'] = tx_item['balance_msat']
else:
tx_item['lightning'] = True
tx_item['value'] = Satoshis(ln_value)
key = tx_item['payment_hash'] if 'payment_hash' in tx_item else tx_item['type'] + tx_item['channel_id']
transactions[key] = tx_item
self.beginInsertRows(QModelIndex(), 0, len(transactions)-1)
self.transactions = transactions
self.endInsertRows()
if selected_row:
self.view.selectionModel().select(self.createIndex(selected_row, 0), QItemSelectionModel.Rows | QItemSelectionModel.SelectCurrent)

Loading…
Cancel
Save