mirror of
https://github.com/LBRYFoundation/LBRY-Vault.git
synced 2025-09-01 09:45:18 +00:00
kivy: scan tx
This commit is contained in:
parent
7c3edd58e3
commit
526c6c88f7
3 changed files with 21 additions and 7 deletions
|
@ -238,6 +238,16 @@ class ElectrumWindow(App):
|
||||||
return
|
return
|
||||||
self.send_screen.set_URI(url)
|
self.send_screen.set_URI(url)
|
||||||
|
|
||||||
|
def on_qr(self, data):
|
||||||
|
if data.startswith('bitcoin:'):
|
||||||
|
self.set_URI(data)
|
||||||
|
else:
|
||||||
|
from electrum.bitcoin import base_decode
|
||||||
|
from electrum.transaction import Transaction
|
||||||
|
text = base_decode(data, None, base=43).encode('hex')
|
||||||
|
tx = Transaction(text)
|
||||||
|
self.tx_dialog(tx)
|
||||||
|
|
||||||
def on_uri(self, instance, uri):
|
def on_uri(self, instance, uri):
|
||||||
if uri:
|
if uri:
|
||||||
Logger.info("on uri:" + uri)
|
Logger.info("on uri:" + uri)
|
||||||
|
@ -646,12 +656,9 @@ class ElectrumWindow(App):
|
||||||
pos = (win.center[0], win.center[1] - (info_bubble.height/2))
|
pos = (win.center[0], win.center[1] - (info_bubble.height/2))
|
||||||
info_bubble.show(pos, duration, width, modal=modal, exit=exit)
|
info_bubble.show(pos, duration, width, modal=modal, exit=exit)
|
||||||
|
|
||||||
def tx_details_dialog(self, obj):
|
def tx_dialog(self, tx):
|
||||||
tx_hash = obj.tx_hash
|
tx_hash = tx.hash()
|
||||||
popup = Builder.load_file('gui/kivy/uix/ui_screens/transaction.kv')
|
popup = Builder.load_file('gui/kivy/uix/ui_screens/transaction.kv')
|
||||||
tx = self.wallet.transactions.get(tx_hash)
|
|
||||||
if not tx:
|
|
||||||
return
|
|
||||||
conf, timestamp = self.wallet.get_confirmations(tx_hash)
|
conf, timestamp = self.wallet.get_confirmations(tx_hash)
|
||||||
is_relevant, is_mine, v, fee = self.wallet.get_wallet_delta(tx)
|
is_relevant, is_mine, v, fee = self.wallet.get_wallet_delta(tx)
|
||||||
if is_relevant:
|
if is_relevant:
|
||||||
|
|
|
@ -97,7 +97,14 @@ class HistoryScreen(CScreen):
|
||||||
def __init__(self, **kwargs):
|
def __init__(self, **kwargs):
|
||||||
self.ra_dialog = None
|
self.ra_dialog = None
|
||||||
super(HistoryScreen, self).__init__(**kwargs)
|
super(HistoryScreen, self).__init__(**kwargs)
|
||||||
self.menu_actions = [ ('Label', self.label_dialog), ('Details', self.app.tx_details_dialog)]
|
self.menu_actions = [ ('Label', self.label_dialog), ('Details', self.show_tx)]
|
||||||
|
|
||||||
|
def show_tx(self, obj):
|
||||||
|
tx_hash = obj.tx_hash
|
||||||
|
tx = self.app.wallet.transactions.get(tx_hash)
|
||||||
|
if not tx:
|
||||||
|
return
|
||||||
|
self.app.tx_dialog(tx)
|
||||||
|
|
||||||
def label_dialog(self, obj):
|
def label_dialog(self, obj):
|
||||||
from dialogs.label_dialog import LabelDialog
|
from dialogs.label_dialog import LabelDialog
|
||||||
|
|
|
@ -76,7 +76,7 @@ SendScreen:
|
||||||
IconButton:
|
IconButton:
|
||||||
id: qr
|
id: qr
|
||||||
size_hint: 0.6, 1
|
size_hint: 0.6, 1
|
||||||
on_release: app.scan_qr(on_complete=app.set_URI)
|
on_release: app.scan_qr(on_complete=app.on_qr)
|
||||||
icon: 'atlas://gui/kivy/theming/light/camera'
|
icon: 'atlas://gui/kivy/theming/light/camera'
|
||||||
Button:
|
Button:
|
||||||
text: _('Paste')
|
text: _('Paste')
|
||||||
|
|
Loading…
Add table
Reference in a new issue