mirror of
https://github.com/LBRYFoundation/LBRY-Vault.git
synced 2025-08-23 17:47:31 +00:00
lightning: improve receive in Qt GUI
This commit is contained in:
parent
31b67c422b
commit
18bc5aa27b
2 changed files with 17 additions and 29 deletions
|
@ -1058,13 +1058,14 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger):
|
||||||
i = self.expires_combo.currentIndex()
|
i = self.expires_combo.currentIndex()
|
||||||
expiration = list(map(lambda x: x[1], expiration_values))[i]
|
expiration = list(map(lambda x: x[1], expiration_values))[i]
|
||||||
if self.receive_type.currentIndex() == 1:
|
if self.receive_type.currentIndex() == 1:
|
||||||
self.create_lightning_request(amount, message, expiration)
|
key = self.wallet.lnworker.add_invoice(amount, message)
|
||||||
else:
|
else:
|
||||||
self.create_bitcoin_request(amount, message, expiration)
|
key = self.create_bitcoin_request(amount, message, expiration)
|
||||||
|
self.address_list.update()
|
||||||
|
self.clear_receive_tab()
|
||||||
self.request_list.update()
|
self.request_list.update()
|
||||||
|
items = self.request_list.findItems(key, Qt.UserRole|Qt.MatchContains|Qt.MatchRecursive, column=0)
|
||||||
def create_lightning_request(self, amount, message, expiration):
|
self.request_list.setCurrentItem(items[0])
|
||||||
req = self.wallet.lnworker.add_invoice(amount, message)
|
|
||||||
|
|
||||||
def create_bitcoin_request(self, amount, message, expiration):
|
def create_bitcoin_request(self, amount, message, expiration):
|
||||||
addr = self.wallet.get_unused_address()
|
addr = self.wallet.get_unused_address()
|
||||||
|
@ -1089,8 +1090,6 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger):
|
||||||
else:
|
else:
|
||||||
self.sign_payment_request(addr)
|
self.sign_payment_request(addr)
|
||||||
#self.save_request_button.setEnabled(False)
|
#self.save_request_button.setEnabled(False)
|
||||||
finally:
|
|
||||||
self.address_list.update()
|
|
||||||
|
|
||||||
def view_and_paste(self, title, msg, data):
|
def view_and_paste(self, title, msg, data):
|
||||||
dialog = WindowModalDialog(self, title)
|
dialog = WindowModalDialog(self, title)
|
||||||
|
|
|
@ -78,23 +78,14 @@ class RequestList(MyTreeView):
|
||||||
if req is None:
|
if req is None:
|
||||||
self.update()
|
self.update()
|
||||||
return
|
return
|
||||||
expires = age(req['time'] + req['exp']) if req.get('exp') else _('Never')
|
item = self.model().itemFromIndex(idx.sibling(idx.row(), 0))
|
||||||
amount = req['amount']
|
request_type = item.data(Qt.UserRole)
|
||||||
message = req['memo']
|
key = str(item.data(Qt.UserRole + 1))
|
||||||
self.parent.receive_address_e.setText(addr)
|
if request_type == REQUEST_TYPE_BITCOIN:
|
||||||
#req = self.wallet.receive_requests.get(addr)
|
req = self.parent.get_request_URI(key)
|
||||||
#if req is None:
|
elif request_type == REQUEST_TYPE_LN:
|
||||||
# self.update()
|
req = self.wallet.lnworker.invoices.get(key)
|
||||||
# return
|
self.parent.receive_address_e.setText(req)
|
||||||
#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):
|
def update(self):
|
||||||
self.wallet = self.parent.wallet
|
self.wallet = self.parent.wallet
|
||||||
|
@ -122,7 +113,6 @@ class RequestList(MyTreeView):
|
||||||
|
|
||||||
self.model().clear()
|
self.model().clear()
|
||||||
self.update_headers(self.__class__.headers)
|
self.update_headers(self.__class__.headers)
|
||||||
self.hideColumn(self.Columns.ADDRESS)
|
|
||||||
for req in self.wallet.get_sorted_requests(self.config):
|
for req in self.wallet.get_sorted_requests(self.config):
|
||||||
address = req['address']
|
address = req['address']
|
||||||
if address not in domain:
|
if address not in domain:
|
||||||
|
@ -136,8 +126,7 @@ class RequestList(MyTreeView):
|
||||||
signature = req.get('sig')
|
signature = req.get('sig')
|
||||||
requestor = req.get('name', '')
|
requestor = req.get('name', '')
|
||||||
amount_str = self.parent.format_amount(amount) if amount else ""
|
amount_str = self.parent.format_amount(amount) if amount else ""
|
||||||
URI = self.parent.get_request_URI(address)
|
labels = [date, address, '', message, amount_str, pr_tooltips.get(status,'')]
|
||||||
labels = [date, URI, '', message, amount_str, pr_tooltips.get(status,'')]
|
|
||||||
items = [QStandardItem(e) for e in labels]
|
items = [QStandardItem(e) for e in labels]
|
||||||
self.set_editability(items)
|
self.set_editability(items)
|
||||||
if signature is not None:
|
if signature is not None:
|
||||||
|
@ -201,7 +190,7 @@ class RequestList(MyTreeView):
|
||||||
if column == self.Columns.AMOUNT:
|
if column == self.Columns.AMOUNT:
|
||||||
column_data = column_data.strip()
|
column_data = column_data.strip()
|
||||||
menu.addAction(_("Copy {}").format(column_title), lambda: self.parent.app.clipboard().setText(column_data))
|
menu.addAction(_("Copy {}").format(column_title), lambda: self.parent.app.clipboard().setText(column_data))
|
||||||
menu.addAction(_("Copy URI"), lambda: self.parent.view_and_paste('URI', '', self.parent.get_request_URI(addr)))
|
menu.addAction(_("Copy"), lambda: self.parent.app.clipboard().setText(req))
|
||||||
menu.addAction(_("Save as BIP70 file"), lambda: self.parent.export_payment_request(addr))
|
menu.addAction(_("Save as BIP70 file"), lambda: self.parent.export_payment_request(addr))
|
||||||
menu.addAction(_("Delete"), lambda: self.parent.delete_payment_request(addr))
|
menu.addAction(_("Delete"), lambda: self.parent.delete_payment_request(addr))
|
||||||
run_hook('receive_list_menu', menu, addr)
|
run_hook('receive_list_menu', menu, addr)
|
||||||
|
@ -218,6 +207,6 @@ class RequestList(MyTreeView):
|
||||||
menu = QMenu(self)
|
menu = QMenu(self)
|
||||||
if column != 2:
|
if column != 2:
|
||||||
menu.addAction(_("Copy {}").format(column_title), lambda: self.parent.app.clipboard().setText(column_data))
|
menu.addAction(_("Copy {}").format(column_title), lambda: self.parent.app.clipboard().setText(column_data))
|
||||||
menu.addAction(_("Copy URI"), lambda: self.parent.view_and_paste('URI', '', req))
|
menu.addAction(_("Copy"), lambda: self.parent.app.clipboard().setText(req))
|
||||||
menu.addAction(_("Delete"), lambda: self.parent.delete_lightning_payreq(payreq_key))
|
menu.addAction(_("Delete"), lambda: self.parent.delete_lightning_payreq(payreq_key))
|
||||||
return menu
|
return menu
|
||||||
|
|
Loading…
Add table
Reference in a new issue