mirror of
https://github.com/LBRYFoundation/LBRY-Vault.git
synced 2025-08-23 17:47:31 +00:00
history: add column for ln amount
This commit is contained in:
parent
7a0e8bb343
commit
2994764ad8
1 changed files with 28 additions and 20 deletions
|
@ -80,13 +80,14 @@ TX_ICONS = [
|
||||||
class HistoryColumns(IntEnum):
|
class HistoryColumns(IntEnum):
|
||||||
STATUS = 0
|
STATUS = 0
|
||||||
DESCRIPTION = 1
|
DESCRIPTION = 1
|
||||||
COIN_VALUE = 2
|
AMOUNT = 2
|
||||||
ONCHAIN_BALANCE = 3
|
LN_AMOUNT = 3
|
||||||
CHANNELS_BALANCE = 4
|
BALANCE = 4
|
||||||
FIAT_VALUE = 5
|
LN_BALANCE = 5
|
||||||
FIAT_ACQ_PRICE = 6
|
FIAT_VALUE = 6
|
||||||
FIAT_CAP_GAINS = 7
|
FIAT_ACQ_PRICE = 7
|
||||||
TXID = 8
|
FIAT_CAP_GAINS = 8
|
||||||
|
TXID = 9
|
||||||
|
|
||||||
class HistorySortModel(QSortFilterProxyModel):
|
class HistorySortModel(QSortFilterProxyModel):
|
||||||
def lessThan(self, source_left: QModelIndex, source_right: QModelIndex):
|
def lessThan(self, source_left: QModelIndex, source_right: QModelIndex):
|
||||||
|
@ -167,11 +168,13 @@ class HistoryModel(QAbstractItemModel, Logger):
|
||||||
(-timestamp, conf, -status, -height, -txpos) if not is_lightning else (-timestamp, 0,0,0,0),
|
(-timestamp, conf, -status, -height, -txpos) if not is_lightning else (-timestamp, 0,0,0,0),
|
||||||
HistoryColumns.DESCRIPTION:
|
HistoryColumns.DESCRIPTION:
|
||||||
tx_item['label'] if 'label' in tx_item else None,
|
tx_item['label'] if 'label' in tx_item else None,
|
||||||
HistoryColumns.COIN_VALUE:
|
HistoryColumns.AMOUNT:
|
||||||
tx_item['value'].value if 'value' in tx_item else None,
|
tx_item['value'].value if 'value' in tx_item else None,
|
||||||
HistoryColumns.ONCHAIN_BALANCE:
|
HistoryColumns.LN_AMOUNT:
|
||||||
|
tx_item['ln_value'].value if 'ln_value' in tx_item else None,
|
||||||
|
HistoryColumns.BALANCE:
|
||||||
tx_item['balance'].value if not is_lightning else None,
|
tx_item['balance'].value if not is_lightning else None,
|
||||||
HistoryColumns.CHANNELS_BALANCE:
|
HistoryColumns.LN_BALANCE:
|
||||||
tx_item['balance_msat'] if 'balance_msat' in tx_item else None,
|
tx_item['balance_msat'] if 'balance_msat' in tx_item else None,
|
||||||
HistoryColumns.FIAT_VALUE:
|
HistoryColumns.FIAT_VALUE:
|
||||||
tx_item['fiat_value'].value if 'fiat_value' in tx_item else None,
|
tx_item['fiat_value'].value if 'fiat_value' in tx_item else None,
|
||||||
|
@ -197,7 +200,7 @@ class HistoryModel(QAbstractItemModel, Logger):
|
||||||
elif col == HistoryColumns.DESCRIPTION and role == Qt.DecorationRole and not is_lightning\
|
elif col == HistoryColumns.DESCRIPTION and role == Qt.DecorationRole and not is_lightning\
|
||||||
and self.parent.wallet.invoices.paid.get(tx_hash):
|
and self.parent.wallet.invoices.paid.get(tx_hash):
|
||||||
return QVariant(read_QIcon("seal"))
|
return QVariant(read_QIcon("seal"))
|
||||||
elif col in (HistoryColumns.DESCRIPTION, HistoryColumns.COIN_VALUE) \
|
elif col in (HistoryColumns.DESCRIPTION, HistoryColumns.AMOUNT) \
|
||||||
and role == Qt.ForegroundRole and not is_lightning and tx_item['value'].value < 0:
|
and role == Qt.ForegroundRole and not is_lightning and tx_item['value'].value < 0:
|
||||||
red_brush = QBrush(QColor("#BC1E1E"))
|
red_brush = QBrush(QColor("#BC1E1E"))
|
||||||
return QVariant(red_brush)
|
return QVariant(red_brush)
|
||||||
|
@ -210,15 +213,19 @@ class HistoryModel(QAbstractItemModel, Logger):
|
||||||
return QVariant(status_str)
|
return QVariant(status_str)
|
||||||
elif col == HistoryColumns.DESCRIPTION and 'label' in tx_item:
|
elif col == HistoryColumns.DESCRIPTION and 'label' in tx_item:
|
||||||
return QVariant(tx_item['label'])
|
return QVariant(tx_item['label'])
|
||||||
elif col == HistoryColumns.COIN_VALUE and 'value' in tx_item:
|
elif col == HistoryColumns.AMOUNT and 'value' in tx_item:
|
||||||
value = tx_item['value'].value
|
value = tx_item['value'].value
|
||||||
v_str = self.parent.format_amount(value, is_diff=True, whitespaces=True)
|
v_str = self.parent.format_amount(value, is_diff=True, whitespaces=True)
|
||||||
return QVariant(v_str)
|
return QVariant(v_str)
|
||||||
elif col == HistoryColumns.ONCHAIN_BALANCE and not is_lightning:
|
elif col == HistoryColumns.LN_AMOUNT and 'ln_value' in tx_item:
|
||||||
|
ln_value = tx_item['ln_value'].value
|
||||||
|
v_str = self.parent.format_amount(ln_value, is_diff=True, whitespaces=True)
|
||||||
|
return QVariant(v_str)
|
||||||
|
elif col == HistoryColumns.BALANCE and not is_lightning:
|
||||||
balance = tx_item['balance'].value
|
balance = tx_item['balance'].value
|
||||||
balance_str = self.parent.format_amount(balance, whitespaces=True)
|
balance_str = self.parent.format_amount(balance, whitespaces=True)
|
||||||
return QVariant(balance_str)
|
return QVariant(balance_str)
|
||||||
elif col == HistoryColumns.CHANNELS_BALANCE and 'balance_msat' in tx_item:
|
elif col == HistoryColumns.LN_BALANCE and 'balance_msat' in tx_item:
|
||||||
balance = tx_item['balance_msat']//1000
|
balance = tx_item['balance_msat']//1000
|
||||||
balance_str = self.parent.format_amount(balance, whitespaces=True)
|
balance_str = self.parent.format_amount(balance, whitespaces=True)
|
||||||
return QVariant(balance_str)
|
return QVariant(balance_str)
|
||||||
|
@ -285,11 +292,11 @@ class HistoryModel(QAbstractItemModel, Logger):
|
||||||
if txid and txid in transactions:
|
if txid and txid in transactions:
|
||||||
item = transactions[txid]
|
item = transactions[txid]
|
||||||
item['label'] = tx_item['label'] + ' (%s)'%self.parent.format_amount_and_units(tx_item['amount_msat']/1000)
|
item['label'] = tx_item['label'] + ' (%s)'%self.parent.format_amount_and_units(tx_item['amount_msat']/1000)
|
||||||
item['value'] = Satoshis(item['value'].value + ln_value)
|
item['ln_value'] = Satoshis(ln_value)
|
||||||
item['balance_msat'] = tx_item['balance_msat']
|
item['balance_msat'] = tx_item['balance_msat']
|
||||||
else:
|
else:
|
||||||
tx_item['lightning'] = True
|
tx_item['lightning'] = True
|
||||||
tx_item['value'] = Satoshis(ln_value)
|
tx_item['ln_value'] = Satoshis(ln_value)
|
||||||
key = tx_item['payment_hash'] if 'payment_hash' in tx_item else tx_item['type'] + tx_item['channel_id']
|
key = tx_item['payment_hash'] if 'payment_hash' in tx_item else tx_item['type'] + tx_item['channel_id']
|
||||||
transactions[key] = tx_item
|
transactions[key] = tx_item
|
||||||
self.beginInsertRows(QModelIndex(), 0, len(transactions)-1)
|
self.beginInsertRows(QModelIndex(), 0, len(transactions)-1)
|
||||||
|
@ -378,9 +385,10 @@ class HistoryModel(QAbstractItemModel, Logger):
|
||||||
return {
|
return {
|
||||||
HistoryColumns.STATUS: _('Date'),
|
HistoryColumns.STATUS: _('Date'),
|
||||||
HistoryColumns.DESCRIPTION: _('Description'),
|
HistoryColumns.DESCRIPTION: _('Description'),
|
||||||
HistoryColumns.COIN_VALUE: _('Amount'),
|
HistoryColumns.AMOUNT: _('Amount'),
|
||||||
HistoryColumns.ONCHAIN_BALANCE: _('Balance'),
|
HistoryColumns.LN_AMOUNT: u'\U0001f5f2',
|
||||||
HistoryColumns.CHANNELS_BALANCE: u'\U0001f5f2 ' + _('Channels balance'),
|
HistoryColumns.BALANCE: _('Balance'),
|
||||||
|
HistoryColumns.LN_BALANCE: u'\U0001f5f2',
|
||||||
HistoryColumns.FIAT_VALUE: fiat_title,
|
HistoryColumns.FIAT_VALUE: fiat_title,
|
||||||
HistoryColumns.FIAT_ACQ_PRICE: fiat_acq_title,
|
HistoryColumns.FIAT_ACQ_PRICE: fiat_acq_title,
|
||||||
HistoryColumns.FIAT_CAP_GAINS: fiat_cg_title,
|
HistoryColumns.FIAT_CAP_GAINS: fiat_cg_title,
|
||||||
|
@ -403,7 +411,7 @@ class HistoryModel(QAbstractItemModel, Logger):
|
||||||
class HistoryList(MyTreeView, AcceptFileDragDrop):
|
class HistoryList(MyTreeView, AcceptFileDragDrop):
|
||||||
filter_columns = [HistoryColumns.STATUS,
|
filter_columns = [HistoryColumns.STATUS,
|
||||||
HistoryColumns.DESCRIPTION,
|
HistoryColumns.DESCRIPTION,
|
||||||
HistoryColumns.COIN_VALUE,
|
HistoryColumns.AMOUNT,
|
||||||
HistoryColumns.TXID]
|
HistoryColumns.TXID]
|
||||||
|
|
||||||
def tx_item_from_proxy_row(self, proxy_row):
|
def tx_item_from_proxy_row(self, proxy_row):
|
||||||
|
|
Loading…
Add table
Reference in a new issue