URI: 
       tminor qt send tab fixes. notably 'send max' was broken - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 0b87ce426f1bb2e4debf6810f7ec362d23a14af4
   DIR parent 5e04f084b7505e6c352189354f7ebecbe9c834fe
  HTML Author: SomberNight <somber.night@protonmail.com>
       Date:   Mon, 16 Sep 2019 02:54:32 +0200
       
       minor qt send tab fixes. notably 'send max' was broken
       
       follow-up aaed594772dde4b6240267e21f067e89bed5fa15
       
       Diffstat:
         M electrum/gui/qt/main_window.py      |       6 +++---
         M electrum/util.py                    |       6 ++++--
         M electrum/wallet.py                  |       7 +++++--
       
       3 files changed, 12 insertions(+), 7 deletions(-)
       ---
   DIR diff --git a/electrum/gui/qt/main_window.py b/electrum/gui/qt/main_window.py
       t@@ -148,6 +148,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger):
                self.app = gui_object.app
                self.cleaned_up = False
                self.payment_request = None  # type: Optional[paymentrequest.PaymentRequest]
       +        self.payto_URI = None
                self.checking_accounts = False
                self.qr_window = None
                self.not_enough_funds = False
       t@@ -1734,9 +1735,8 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger):
                elif invoice['type'] == PR_TYPE_ONCHAIN:
                    message = invoice['message']
                    outputs = invoice['outputs']
       -            amount = sum(map(lambda x:x[2], outputs))
                else:
       -            raise Exception('unknowwn invoicce type')
       +            raise Exception('unknown invoice type')
        
                if run_hook('abort_send', self):
                    return
       t@@ -1760,7 +1760,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger):
                    self.show_message(str(e))
                    return
        
       -        amount = tx.output_value() if self.max_button.isChecked() else sum(map(lambda x:x[2], outputs))
       +        amount = tx.output_value() if self.max_button.isChecked() else sum(map(lambda x: x.value, outputs))
                fee = tx.get_fee()
        
                use_rbf = bool(self.config.get('use_rbf', True))
   DIR diff --git a/electrum/util.py b/electrum/util.py
       t@@ -585,12 +585,14 @@ def format_satoshis_plain(x, decimal_point = 8):
            return "{:.8f}".format(Decimal(x) / scale_factor).rstrip('0').rstrip('.')
        
        
       -DECIMAL_POINT = localeconv()['decimal_point']
       +DECIMAL_POINT = localeconv()['decimal_point']  # type: str
        
        
       -def format_satoshis(x, num_zeros=0, decimal_point=8, precision=None, is_diff=False, whitespaces=False):
       +def format_satoshis(x, num_zeros=0, decimal_point=8, precision=None, is_diff=False, whitespaces=False) -> str:
            if x is None:
                return 'unknown'
       +    if x == '!':
       +        return 'max'
            if precision is None:
                precision = decimal_point
            # format string
   DIR diff --git a/electrum/wallet.py b/electrum/wallet.py
       t@@ -512,8 +512,11 @@ class Abstract_Wallet(AddressSynchronizer):
                        'txpos_in_block': hist_item.tx_mined_status.txpos,
                    }
        
       -    def create_invoice(self, outputs, message, pr, URI):
       -        amount = sum(x[2] for x in outputs)
       +    def create_invoice(self, outputs: List[TxOutput], message, pr, URI):
       +        if '!' in (x.value for x in outputs):
       +            amount = '!'
       +        else:
       +            amount = sum(x.value for x in outputs)
                invoice = {
                    'type': PR_TYPE_ONCHAIN,
                    'message': message,