Browse Source

copy, label and payto buttons

283
ThomasV 13 years ago
parent
commit
51fb9625f8
  1. 55
      client/electrum4a.py

55
client/electrum4a.py

@ -30,7 +30,7 @@ import datetime
def modal_dialog(title, msg = ''): def modal_dialog(title, msg = None):
droid.dialogCreateAlert(title,msg) droid.dialogCreateAlert(title,msg)
droid.dialogSetPositiveButtonText('OK') droid.dialogSetPositiveButtonText('OK')
droid.dialogShow() droid.dialogShow()
@ -58,17 +58,26 @@ def modal_question(q, msg, pos_text = 'OK', neg_text = 'Cancel'):
def edit_label(addr): def edit_label(addr):
v = modal_input('Edit label',None,wallet.labels.get(addr)) v = modal_input('Edit label',None,wallet.labels.get(addr))
if v: if v is not None:
wallet.labels[addr] = v if v:
wallet.labels[addr] = v
else:
if addr in wallet.labels.keys():
wallet.labels.pop(addr)
wallet.update_tx_history() wallet.update_tx_history()
wallet.save() wallet.save()
droid.fullSetProperty("labelTextView", "text", wallet.labels.get(addr)) droid.fullSetProperty("labelTextView", "text", v)
def select_from_contacts(): def select_from_contacts():
title = 'Contacts:' title = 'Contacts:'
droid.dialogCreateAlert(title) droid.dialogCreateAlert(title)
l = []
for i in range(len(wallet.addressbook)):
addr = wallet.addressbook[i]
label = wallet.labels.get(addr,addr)
l.append( label )
droid.dialogSetItems(l)
droid.dialogSetPositiveButtonText('New contact') droid.dialogSetPositiveButtonText('New contact')
droid.dialogSetItems(wallet.addressbook)
droid.dialogShow() droid.dialogShow()
response = droid.dialogGetResponse().result response = droid.dialogGetResponse().result
droid.dialogDismiss() droid.dialogDismiss()
@ -88,8 +97,8 @@ def select_from_addresses():
l = [] l = []
for i in range(len(wallet.addresses)): for i in range(len(wallet.addresses)):
addr = wallet.addresses[i] addr = wallet.addresses[i]
l.append( wallet.labels.get(addr,'') + ' ' + addr) label = wallet.labels.get(addr,addr)
l.append( label )
droid.dialogSetItems(l) droid.dialogSetItems(l)
droid.dialogShow() droid.dialogShow()
response = droid.dialogGetResponse() response = droid.dialogGetResponse()
@ -618,6 +627,11 @@ def main_loop():
def payto_loop(): def payto_loop():
global recipient
if recipient:
droid.fullSetProperty("recipient","text",recipient)
recipient = None
out = None out = None
while out is None: while out is None:
event = droid.eventWait().result event = droid.eventWait().result
@ -670,7 +684,7 @@ def payto_loop():
receive_addr = '' receive_addr = ''
contact_addr = '' contact_addr = ''
recipient = ''
def receive_loop(): def receive_loop():
out = None out = None
@ -681,12 +695,17 @@ def receive_loop():
if event["data"]["key"] == '4': if event["data"]["key"] == '4':
out = 'main' out = 'main'
elif event["name"]=="clipboard":
droid.setClipboard(receive_addr)
modal_dialog('Address copied to clipboard',receive_addr)
elif event["name"]=="edit": elif event["name"]=="edit":
edit_label(receive_addr) edit_label(receive_addr)
return out return out
def contacts_loop(): def contacts_loop():
global recipient
out = None out = None
while out is None: while out is None:
event = droid.eventWait().result event = droid.eventWait().result
@ -695,9 +714,21 @@ def contacts_loop():
if event["data"]["key"] == '4': if event["data"]["key"] == '4':
out = 'main' out = 'main'
elif event["name"]=="clipboard":
droid.setClipboard(contact_addr)
modal_dialog('Address copied to clipboard',contact_addr)
elif event["name"]=="edit": elif event["name"]=="edit":
edit_label(contact_addr) edit_label(contact_addr)
elif event["name"]=="paytocontact":
recipient = contact_addr
out = 'send'
elif event["name"]=="deletecontact":
if modal_question('delete contact', contact_addr):
out = 'main'
return out return out
@ -855,11 +886,13 @@ def add_menu(s):
droid.addOptionsMenuItem("Contacts","contacts",None,"") droid.addOptionsMenuItem("Contacts","contacts",None,"")
droid.addOptionsMenuItem("Settings","settings",None,"") droid.addOptionsMenuItem("Settings","settings",None,"")
elif s == 'receive': elif s == 'receive':
droid.addOptionsMenuItem("Edit","edit",None,"") droid.addOptionsMenuItem("Copy","clipboard",None,"")
droid.addOptionsMenuItem("Label","edit",None,"")
elif s == 'contacts': elif s == 'contacts':
droid.addOptionsMenuItem("Edit","edit",None,"") droid.addOptionsMenuItem("Copy","clipboard",None,"")
droid.addOptionsMenuItem("Label","edit",None,"")
droid.addOptionsMenuItem("Pay to","paytocontact",None,"") droid.addOptionsMenuItem("Pay to","paytocontact",None,"")
droid.addOptionsMenuItem("Delete","removecontact",None,"") #droid.addOptionsMenuItem("Delete","deletecontact",None,"")
elif s == 'settings': elif s == 'settings':
droid.addOptionsMenuItem("Password","password",None,"") droid.addOptionsMenuItem("Password","password",None,"")
droid.addOptionsMenuItem("Seed","seed",None,"") droid.addOptionsMenuItem("Seed","seed",None,"")

Loading…
Cancel
Save