lightning GUI: use existing receive and send tabs with lightning invoices
This commit is contained in:
@@ -79,12 +79,19 @@ class RequestList(MyTreeView):
|
||||
amount = req['amount']
|
||||
message = req['memo']
|
||||
self.parent.receive_address_e.setText(addr)
|
||||
self.parent.receive_message_e.setText(message)
|
||||
self.parent.receive_amount_e.setAmount(amount)
|
||||
self.parent.expires_combo.hide()
|
||||
self.parent.expires_label.show()
|
||||
self.parent.expires_label.setText(expires)
|
||||
self.parent.new_request_button.setEnabled(True)
|
||||
#req = self.wallet.receive_requests.get(addr)
|
||||
#if req is None:
|
||||
# self.update()
|
||||
# return
|
||||
#expires = age(req['time'] + req['exp']) if req.get('exp') else _('Never')
|
||||
#amount = req['amount']
|
||||
#message = self.wallet.labels.get(addr, '')
|
||||
#self.parent.receive_message_e.setText(message)
|
||||
#self.parent.receive_amount_e.setAmount(amount)
|
||||
#self.parent.expires_combo.hide()
|
||||
#self.parent.expires_label.show()
|
||||
#self.parent.expires_label.setText(expires)
|
||||
#self.parent.new_request_button.setEnabled(True)
|
||||
|
||||
def update(self):
|
||||
self.wallet = self.parent.wallet
|
||||
@@ -98,7 +105,7 @@ class RequestList(MyTreeView):
|
||||
self.parent.expires_combo.show()
|
||||
|
||||
# update the receive address if necessary
|
||||
current_address = self.parent.receive_address_e.text()
|
||||
#current_address = self.parent.receive_address_e.text()
|
||||
domain = self.wallet.get_receiving_addresses()
|
||||
try:
|
||||
addr = self.wallet.get_unused_address()
|
||||
@@ -126,7 +133,8 @@ class RequestList(MyTreeView):
|
||||
signature = req.get('sig')
|
||||
requestor = req.get('name', '')
|
||||
amount_str = self.parent.format_amount(amount) if amount else ""
|
||||
labels = [date, address, '', message, amount_str, pr_tooltips.get(status,'')]
|
||||
URI = self.parent.get_request_URI(address)
|
||||
labels = [date, URI, '', message, amount_str, pr_tooltips.get(status,'')]
|
||||
items = [QStandardItem(e) for e in labels]
|
||||
self.set_editability(items)
|
||||
if signature is not None:
|
||||
@@ -137,6 +145,22 @@ class RequestList(MyTreeView):
|
||||
items[self.Columns.DESCRIPTION].setData(address, Qt.UserRole)
|
||||
self.model().insertRow(self.model().rowCount(), items)
|
||||
self.filter()
|
||||
# lightning
|
||||
for k, r in self.wallet.lnworker.invoices.items():
|
||||
from electrum.lightning_payencode.lnaddr import lndecode
|
||||
import electrum.constants as constants
|
||||
lnaddr = lndecode(r, expected_hrp=constants.net.SEGWIT_HRP)
|
||||
amount_str = self.parent.format_amount(lnaddr.amount*100000000)
|
||||
for k,v in lnaddr.tags:
|
||||
if k == 'd':
|
||||
description = v
|
||||
break
|
||||
else:
|
||||
description = ''
|
||||
labels = [date, r, '', description, amount_str, '']
|
||||
items = [QStandardItem(e) for e in labels]
|
||||
items.setIcon(2, QIcon(":icons/lightning.png"))
|
||||
self.model().insertRow(self.model().rowCount(), items)
|
||||
|
||||
def create_menu(self, position):
|
||||
idx = self.indexAt(position)
|
||||
|
||||
Reference in New Issue
Block a user