URI: 
       tlet the send tab parse and return its own fields - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 03c84aab0eb1766ea1190607aca9051a3a2b3641
   DIR parent 838a3e3187a18f85f4da706b9a650fd49255bf09
  HTML Author: ThomasV <thomasv@gitorious>
       Date:   Thu, 12 Jun 2014 17:31:18 +0200
       
       let the send tab parse and return its own fields
       
       Diffstat:
         M gui/qt/main_window.py               |      15 +++++++++++----
         M plugins/qrscanner.py                |      25 ++++---------------------
       
       2 files changed, 15 insertions(+), 25 deletions(-)
       ---
   DIR diff --git a/gui/qt/main_window.py b/gui/qt/main_window.py
       t@@ -799,7 +799,7 @@ class ElectrumWindow(QMainWindow):
                return lambda s, *args: s.do_protect(func, args)
        
        
       -    def do_send(self):
       +    def read_send_tab(self):
                label = unicode( self.message_e.text() )
        
                if self.gui_object.payment_request:
       t@@ -837,16 +837,23 @@ class ElectrumWindow(QMainWindow):
                    if not self.question(_("The fee for this transaction seems unusually high.\nAre you really sure you want to pay %(fee)s in fees?")%{ 'fee' : self.format_amount(fee) + ' '+ self.base_unit()}):
                        return
        
       -        self.send_tx(outputs, fee, label)
       +        coins = self.get_coins()
       +        return outputs, fee, label, coins
       +
        
       +    def do_send(self):
       +        r = self.read_send_tab()
       +        if not r:
       +            return
       +        outputs, fee, label, coins = r
       +        self.send_tx(outputs, fee, label, coins)
        
        
            @protected
       -    def send_tx(self, outputs, fee, label, password):
       +    def send_tx(self, outputs, fee, label, coins, password):
                self.send_button.setDisabled(True)
        
                # first, create an unsigned tx 
       -        coins = self.get_coins()
                try:
                    tx = self.wallet.make_unsigned_transaction(outputs, fee, None, coins = coins)
                    tx.error = None
   DIR diff --git a/plugins/qrscanner.py b/plugins/qrscanner.py
       t@@ -86,30 +86,13 @@ class Plugin(BasePlugin):
                        return r.data
                
            def show_raw_qr(self):
       -        r = unicode( self.gui.main_window.payto_e.text() )
       -        r = r.strip()
       -
       -        # label or alias, with address in brackets
       -        m = re.match('(.*?)\s*\<([1-9A-HJ-NP-Za-km-z]{26,})\>', r)
       -        to_address = m.group(2) if m else r
       -
       -        if not is_valid(to_address):
       -            QMessageBox.warning(self.gui.main_window, _('Error'), _('Invalid Bitcoin Address') + ':\n' + to_address, _('OK'))
       -            return
       -
       -        try:
       -            amount = self.gui.main_window.read_amount(unicode( self.gui.main_window.amount_e.text()))
       -        except Exception:
       -            QMessageBox.warning(self.gui.main_window, _('Error'), _('Invalid Amount'), _('OK'))
       -            return
       -        try:
       -            fee = self.gui.main_window.read_amount(unicode( self.gui.main_window.fee_e.text()))
       -        except Exception:
       -            QMessageBox.warning(self.gui.main_window, _('Error'), _('Invalid Fee'), _('OK'))
       +        r = self.gui.main_window.read_send_tab()
       +        if not r:
                    return
        
       +        outputs, fee, label, coins = r
                try:
       -            tx = self.gui.main_window.wallet.mktx( [(to_address, amount)], None, fee)
       +            tx = self.gui.main_window.wallet.make_unsigned_transaction(outputs, fee, None, None, coins)
                except Exception as e:
                    self.gui.main_window.show_message(str(e))
                    return