ttext gui: send button - electrum - Electrum Bitcoin wallet
 (HTM) git clone https://git.parazyd.org/electrum
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Submodules
       ---
 (DIR) commit 2337a2b3046e4bbe32fe6d37c23deadd8f05a4b0
 (DIR) parent 10b02b37c98d0fdde85eaa7024f7836eb139fe41
 (HTM) Author: ThomasV <thomasv@gitorious>
       Date:   Wed,  7 Nov 2012 23:32:42 +0100
       
       ttext gui: send button
       
       Diffstat:
         M lib/gui_text.py                     |      37 +++++++++++++++++++++++++++----
       
       1 file changed, 33 insertions(+), 4 deletions(-)
       ---
 (DIR) diff --git a/lib/gui_text.py b/lib/gui_text.py
       t@@ -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()
       t@@ -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)
       t@@ -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)
       t@@ -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:
       t@@ -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()
       t@@ -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):
       t@@ -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