mirror of
https://github.com/LBRYFoundation/LBRY-Vault.git
synced 2025-08-23 17:47:31 +00:00
qt history list: small clean-up
This commit is contained in:
parent
ea235a1468
commit
059beab700
4 changed files with 15 additions and 23 deletions
|
@ -104,9 +104,6 @@ class HistoryList(MyTreeView, AcceptFileDragDrop):
|
||||||
self.end_timestamp = None
|
self.end_timestamp = None
|
||||||
self.years = []
|
self.years = []
|
||||||
self.create_toolbar_buttons()
|
self.create_toolbar_buttons()
|
||||||
self.wallet = None
|
|
||||||
|
|
||||||
root = self.std_model.invisibleRootItem()
|
|
||||||
|
|
||||||
self.wallet = self.parent.wallet # type: Abstract_Wallet
|
self.wallet = self.parent.wallet # type: Abstract_Wallet
|
||||||
fx = self.parent.fx
|
fx = self.parent.fx
|
||||||
|
@ -144,7 +141,6 @@ class HistoryList(MyTreeView, AcceptFileDragDrop):
|
||||||
self.editable_columns -= {5}
|
self.editable_columns -= {5}
|
||||||
col_count = self.std_model.columnCount()
|
col_count = self.std_model.columnCount()
|
||||||
diff = col_count-len(headers)
|
diff = col_count-len(headers)
|
||||||
grew = False
|
|
||||||
if col_count > len(headers):
|
if col_count > len(headers):
|
||||||
if diff == 2:
|
if diff == 2:
|
||||||
self.std_model.removeColumns(6, diff)
|
self.std_model.removeColumns(6, diff)
|
||||||
|
@ -155,7 +151,6 @@ class HistoryList(MyTreeView, AcceptFileDragDrop):
|
||||||
while len(items) > col_count:
|
while len(items) > col_count:
|
||||||
items.pop()
|
items.pop()
|
||||||
elif col_count < len(headers):
|
elif col_count < len(headers):
|
||||||
grew = True
|
|
||||||
self.std_model.clear()
|
self.std_model.clear()
|
||||||
self.txid_to_items.clear()
|
self.txid_to_items.clear()
|
||||||
self.transactions.clear()
|
self.transactions.clear()
|
||||||
|
@ -300,11 +295,9 @@ class HistoryList(MyTreeView, AcceptFileDragDrop):
|
||||||
tx_mined_status = TxMinedStatus(height, conf, timestamp, None)
|
tx_mined_status = TxMinedStatus(height, conf, timestamp, None)
|
||||||
status, status_str = self.wallet.get_tx_status(tx_hash, tx_mined_status)
|
status, status_str = self.wallet.get_tx_status(tx_hash, tx_mined_status)
|
||||||
has_invoice = self.wallet.invoices.paid.get(tx_hash)
|
has_invoice = self.wallet.invoices.paid.get(tx_hash)
|
||||||
icon = self.icon_cache.get(":icons/" + TX_ICONS[status])
|
|
||||||
v_str = self.parent.format_amount(value, is_diff=True, whitespaces=True)
|
v_str = self.parent.format_amount(value, is_diff=True, whitespaces=True)
|
||||||
balance_str = self.parent.format_amount(balance, whitespaces=True)
|
balance_str = self.parent.format_amount(balance, whitespaces=True)
|
||||||
entry = ['', status_str, label, v_str, balance_str]
|
entry = ['', status_str, label, v_str, balance_str]
|
||||||
fiat_value = None
|
|
||||||
item = [QStandardItem(e) for e in entry]
|
item = [QStandardItem(e) for e in entry]
|
||||||
item[3].setData(value, self.SORT_ROLE)
|
item[3].setData(value, self.SORT_ROLE)
|
||||||
item[4].setData(balance, self.SORT_ROLE)
|
item[4].setData(balance, self.SORT_ROLE)
|
||||||
|
@ -316,11 +309,11 @@ class HistoryList(MyTreeView, AcceptFileDragDrop):
|
||||||
item[2].setForeground(self.red_brush)
|
item[2].setForeground(self.red_brush)
|
||||||
item[3].setForeground(self.red_brush)
|
item[3].setForeground(self.red_brush)
|
||||||
self.txid_to_items[tx_hash] = item
|
self.txid_to_items[tx_hash] = item
|
||||||
self.update_item(tx_hash, self.parent.wallet.get_tx_height(tx_hash))
|
self.update_item(tx_hash, self.wallet.get_tx_height(tx_hash))
|
||||||
source_row_idx = self.std_model.rowCount()
|
source_row_idx = self.std_model.rowCount()
|
||||||
self.std_model.insertRow(source_row_idx, item)
|
self.std_model.insertRow(source_row_idx, item)
|
||||||
new_idx = self.std_model.index(source_row_idx, 0)
|
new_idx = self.std_model.index(source_row_idx, 0)
|
||||||
history = self.parent.fx.show_history()
|
history = fx.show_history()
|
||||||
if history:
|
if history:
|
||||||
self.update_fiat(tx_hash, tx_item)
|
self.update_fiat(tx_hash, tx_item)
|
||||||
self.hide_row(self.proxy.mapFromSource(new_idx).row())
|
self.hide_row(self.proxy.mapFromSource(new_idx).row())
|
||||||
|
@ -344,7 +337,6 @@ class HistoryList(MyTreeView, AcceptFileDragDrop):
|
||||||
|
|
||||||
@profiler
|
@profiler
|
||||||
def update(self):
|
def update(self):
|
||||||
self.wallet = self.parent.wallet # type: Abstract_Wallet
|
|
||||||
fx = self.parent.fx
|
fx = self.parent.fx
|
||||||
r = self.wallet.get_full_history(domain=self.get_domain(), from_timestamp=None, to_timestamp=None, fx=fx)
|
r = self.wallet.get_full_history(domain=self.get_domain(), from_timestamp=None, to_timestamp=None, fx=fx)
|
||||||
seen = set()
|
seen = set()
|
||||||
|
@ -374,7 +366,7 @@ class HistoryList(MyTreeView, AcceptFileDragDrop):
|
||||||
old = self.transactions[txid]
|
old = self.transactions[txid]
|
||||||
if old == row:
|
if old == row:
|
||||||
continue
|
continue
|
||||||
self.update_item(txid, self.parent.wallet.get_tx_height(txid))
|
self.update_item(txid, self.wallet.get_tx_height(txid))
|
||||||
if history:
|
if history:
|
||||||
self.update_fiat(txid, row)
|
self.update_fiat(txid, row)
|
||||||
balance_str = self.parent.format_amount(row['balance'].value, whitespaces=True)
|
balance_str = self.parent.format_amount(row['balance'].value, whitespaces=True)
|
||||||
|
@ -422,16 +414,16 @@ class HistoryList(MyTreeView, AcceptFileDragDrop):
|
||||||
key = item.data(self.TX_HASH_ROLE)
|
key = item.data(self.TX_HASH_ROLE)
|
||||||
# fixme
|
# fixme
|
||||||
if column == 2:
|
if column == 2:
|
||||||
self.parent.wallet.set_label(key, text)
|
self.wallet.set_label(key, text)
|
||||||
self.update_labels()
|
self.update_labels()
|
||||||
self.parent.update_completions()
|
self.parent.update_completions()
|
||||||
elif column == 5:
|
elif column == 5:
|
||||||
tx_item = self.transactions[key]
|
tx_item = self.transactions[key]
|
||||||
self.parent.wallet.set_fiat_value(key, self.parent.fx.ccy, text, self.parent.fx, tx_item['value'].value)
|
self.wallet.set_fiat_value(key, self.parent.fx.ccy, text, self.parent.fx, tx_item['value'].value)
|
||||||
value = tx_item['value'].value
|
value = tx_item['value'].value
|
||||||
if value is not None:
|
if value is not None:
|
||||||
fee = tx_item['fee']
|
fee = tx_item['fee']
|
||||||
fiat_fields = self.parent.wallet.get_tx_item_fiat(key, value, self.parent.fx, fee.value if fee else None)
|
fiat_fields = self.wallet.get_tx_item_fiat(key, value, self.parent.fx, fee.value if fee else None)
|
||||||
tx_item.update(fiat_fields)
|
tx_item.update(fiat_fields)
|
||||||
self.update_fiat(key, tx_item)
|
self.update_fiat(key, tx_item)
|
||||||
else:
|
else:
|
||||||
|
@ -463,8 +455,6 @@ class HistoryList(MyTreeView, AcceptFileDragDrop):
|
||||||
item.setText(label)
|
item.setText(label)
|
||||||
|
|
||||||
def update_item(self, tx_hash, tx_mined_status):
|
def update_item(self, tx_hash, tx_mined_status):
|
||||||
if self.wallet is None:
|
|
||||||
return
|
|
||||||
conf = tx_mined_status.conf
|
conf = tx_mined_status.conf
|
||||||
status, status_str = self.wallet.get_tx_status(tx_hash, tx_mined_status)
|
status, status_str = self.wallet.get_tx_status(tx_hash, tx_mined_status)
|
||||||
icon = self.icon_cache.get(":icons/" + TX_ICONS[status])
|
icon = self.icon_cache.get(":icons/" + TX_ICONS[status])
|
||||||
|
|
|
@ -117,6 +117,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
||||||
self.setup_exception_hook()
|
self.setup_exception_hook()
|
||||||
|
|
||||||
self.network = gui_object.daemon.network # type: Network
|
self.network = gui_object.daemon.network # type: Network
|
||||||
|
assert wallet, "no wallet"
|
||||||
self.wallet = wallet
|
self.wallet = wallet
|
||||||
self.fx = gui_object.daemon.fx # type: FxThread
|
self.fx = gui_object.daemon.fx # type: FxThread
|
||||||
self.invoices = wallet.invoices
|
self.invoices = wallet.invoices
|
||||||
|
|
|
@ -4,8 +4,7 @@ import sys
|
||||||
import platform
|
import platform
|
||||||
import queue
|
import queue
|
||||||
from functools import partial
|
from functools import partial
|
||||||
from typing import NamedTuple, Callable, Optional
|
from typing import NamedTuple, Callable, Optional, TYPE_CHECKING
|
||||||
from abc import abstractmethod
|
|
||||||
|
|
||||||
from PyQt5.QtGui import *
|
from PyQt5.QtGui import *
|
||||||
from PyQt5.QtCore import *
|
from PyQt5.QtCore import *
|
||||||
|
@ -15,6 +14,9 @@ from electrum.i18n import _, languages
|
||||||
from electrum.util import FileImportFailed, FileExportFailed
|
from electrum.util import FileImportFailed, FileExportFailed
|
||||||
from electrum.paymentrequest import PR_UNPAID, PR_PAID, PR_EXPIRED
|
from electrum.paymentrequest import PR_UNPAID, PR_PAID, PR_EXPIRED
|
||||||
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
from .main_window import ElectrumWindow
|
||||||
|
|
||||||
|
|
||||||
if platform.system() == 'Windows':
|
if platform.system() == 'Windows':
|
||||||
MONOSPACE_FONT = 'Lucida Console'
|
MONOSPACE_FONT = 'Lucida Console'
|
||||||
|
@ -401,7 +403,7 @@ class ElectrumItemDelegate(QStyledItemDelegate):
|
||||||
|
|
||||||
class MyTreeView(QTreeView):
|
class MyTreeView(QTreeView):
|
||||||
|
|
||||||
def __init__(self, parent, create_menu, stretch_column=None, editable_columns=None):
|
def __init__(self, parent: 'ElectrumWindow', create_menu, stretch_column=None, editable_columns=None):
|
||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
self.parent = parent
|
self.parent = parent
|
||||||
self.config = self.parent.config
|
self.config = self.parent.config
|
||||||
|
@ -513,13 +515,12 @@ class MyTreeView(QTreeView):
|
||||||
if self.current_filter:
|
if self.current_filter:
|
||||||
self.filter(self.current_filter)
|
self.filter(self.current_filter)
|
||||||
|
|
||||||
@abstractmethod
|
|
||||||
def should_hide(self, row):
|
def should_hide(self, row):
|
||||||
"""
|
"""
|
||||||
row_num is for self.model(). So if there is a proxy, it is the row number
|
row_num is for self.model(). So if there is a proxy, it is the row number
|
||||||
in that!
|
in that!
|
||||||
"""
|
"""
|
||||||
pass
|
return False
|
||||||
|
|
||||||
def item_from_coordinate(self, row_num, column):
|
def item_from_coordinate(self, row_num, column):
|
||||||
if isinstance(self.model(), QSortFilterProxyModel):
|
if isinstance(self.model(), QSortFilterProxyModel):
|
||||||
|
|
|
@ -860,8 +860,8 @@ def ignore_exceptions(func):
|
||||||
class TxMinedStatus(NamedTuple):
|
class TxMinedStatus(NamedTuple):
|
||||||
height: int
|
height: int
|
||||||
conf: int
|
conf: int
|
||||||
timestamp: int
|
timestamp: Optional[int]
|
||||||
header_hash: str
|
header_hash: Optional[str]
|
||||||
|
|
||||||
|
|
||||||
class VerifiedTxInfo(NamedTuple):
|
class VerifiedTxInfo(NamedTuple):
|
||||||
|
|
Loading…
Add table
Reference in a new issue