text gui: send button
This commit is contained in:
parent
10b02b37c9
commit
2337a2b304
|
@ -111,7 +111,7 @@ class ElectrumGui:
|
|||
def print_edit_line(self, y, label, text, index, size):
|
||||
text += " "*(size - len(text) )
|
||||
self.stdscr.addstr( y, 2, label)
|
||||
self.stdscr.addstr( y, 15, text, curses.A_REVERSE if self.pos%5==index else curses.color_pair(1))
|
||||
self.stdscr.addstr( y, 15, text, curses.A_REVERSE if self.pos%6==index else curses.color_pair(1))
|
||||
|
||||
def print_send_tab(self):
|
||||
self.stdscr.clear()
|
||||
|
@ -119,7 +119,8 @@ class ElectrumGui:
|
|||
self.print_edit_line(5, _("Description"), self.str_description, 1, 40)
|
||||
self.print_edit_line(7, _("Amount"), self.str_amount, 2, 15)
|
||||
self.print_edit_line(9, _("Fee"), self.str_fee, 3, 15)
|
||||
self.stdscr.addstr( 12, 15, _("Send"), curses.A_REVERSE if self.pos%5==4 else 0)
|
||||
self.stdscr.addstr( 12, 15, _("Send"), curses.A_REVERSE if self.pos%6==4 else 0)
|
||||
self.stdscr.addstr( 12, 21, _("Clear"), curses.A_REVERSE if self.pos%6==5 else 0)
|
||||
|
||||
def getstr_send(self):
|
||||
curses.curs_set(1)
|
||||
|
@ -146,12 +147,13 @@ class ElectrumGui:
|
|||
self.stdscr.addstr( 1, 1, self.wallet.banner )
|
||||
|
||||
def print_list(self, list, firstline):
|
||||
self.maxpos = len(list)
|
||||
firstline += " "*(self.maxx -2 - len(firstline))
|
||||
self.stdscr.addstr( 1, 1, firstline )
|
||||
for i in range(self.maxy-4):
|
||||
msg = list[i] if i < len(list) else ""
|
||||
msg += " "*(self.maxx - 2 - len(msg))
|
||||
self.stdscr.addstr( i+2, 1, msg[0:self.maxx - 2], curses.A_REVERSE if i == (self.pos % len(list)) else 0)
|
||||
self.stdscr.addstr( i+2, 1, msg[0:self.maxx - 2], curses.A_REVERSE if i == (self.pos % self.maxpos) else 0)
|
||||
|
||||
def refresh(self):
|
||||
self.stdscr.border(0)
|
||||
|
@ -169,6 +171,8 @@ class ElectrumGui:
|
|||
elif c == ord('n'): self.network_dialog()
|
||||
elif c == ord('s'): self.settings_dialog()
|
||||
else: return c
|
||||
if self.pos<0: self.pos=0
|
||||
if self.pos>=self.maxpos: self.pos=self.maxpos - 1
|
||||
|
||||
def run_tab(self, i, print_func, exec_func):
|
||||
while self.tab == i:
|
||||
|
@ -186,8 +190,10 @@ class ElectrumGui:
|
|||
|
||||
def run_send_tab(self, c):
|
||||
if c == 10:
|
||||
if self.pos%5==4:
|
||||
if self.pos%6==4:
|
||||
self.do_send()
|
||||
elif self.pos%6==5:
|
||||
self.do_clear()
|
||||
else:
|
||||
self.getstr_send()
|
||||
self.print_send_tab()
|
||||
|
@ -227,6 +233,11 @@ class ElectrumGui:
|
|||
curses.endwin()
|
||||
|
||||
|
||||
def do_clear(self):
|
||||
self.str_amount = ''
|
||||
self.str_recipient = ''
|
||||
self.str_fee = ''
|
||||
|
||||
|
||||
def do_send(self):
|
||||
if not self.wallet.is_valid(self.str_recipient):
|
||||
|
@ -250,6 +261,24 @@ class ElectrumGui:
|
|||
else:
|
||||
password = None
|
||||
|
||||
try:
|
||||
tx = self.wallet.mktx( to_address, amount, label, password, fee)
|
||||
except BaseException, e:
|
||||
self.show_message(str(e))
|
||||
return
|
||||
|
||||
h = self.wallet.send_tx(tx)
|
||||
self.show_message(_("Please wait..."))
|
||||
self.wallet.tx_event.wait()
|
||||
status, msg = self.wallet.receive_tx( h )
|
||||
|
||||
if status:
|
||||
self.show_message(_('Payment sent.')+'\n'+msg, _('OK'))
|
||||
self.do_clear()
|
||||
self.update_contacts_tab()
|
||||
else:
|
||||
self.show_message(_('Error:')+ msg)
|
||||
|
||||
|
||||
def show_message(self, message):
|
||||
w = self.w
|
||||
|
|
Loading…
Reference in New Issue