URI: 
       tMerge pull request #1430 from keepkey/master - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 9e71ef2d680fe98422c2ea9e8e37fae41cea66d4
   DIR parent 8b7a8b13379612eef6a8e142c69006491811523e
  HTML Author: ThomasV <electrumdev@gmail.com>
       Date:   Sun, 30 Aug 2015 19:01:56 +0200
       
       Merge pull request #1430 from keepkey/master
       
       Added a "Cancel" button to transaction dialog
       Diffstat:
         M plugins/keepkey.py                  |      22 +++++++++++++++-------
       
       1 file changed, 15 insertions(+), 7 deletions(-)
       ---
   DIR diff --git a/plugins/keepkey.py b/plugins/keepkey.py
       t@@ -235,11 +235,12 @@ class Plugin(BasePlugin):
                client = self.get_client()
                inputs = self.tx_inputs(tx, True)
                outputs = self.tx_outputs(tx)
       -        #try:
       -        signed_tx = client.sign_tx('Bitcoin', inputs, outputs)[1]
       -        #except Exception, e:
       -        #    give_error(e)
       -        #finally:
       +        try:
       +            signed_tx = client.sign_tx('Bitcoin', inputs, outputs)[1]
       +        except Exception, e:
       +            self.handler.stop()
       +            give_error(e)
       +        
                self.handler.stop()
        
                raw = signed_tx.encode('hex')
       t@@ -526,7 +527,7 @@ class KeepKeyGuiMixin(object):
                    message = "Confirm address on KeepKey device to continue"
                else:
                    message = "Check KeepKey device to continue"
       -        self.handler.show_message(message)
       +        self.handler.show_message(msg.code, message, self)
                return proto.ButtonAck()
        
            def callback_PinMatrixRequest(self, msg):
       t@@ -591,8 +592,10 @@ class KeepKeyQtHandler:
            def stop(self):
                self.win.emit(SIGNAL('keepkey_done'))
        
       -    def show_message(self, msg):
       +    def show_message(self, msg_code, msg, client):
       +        self.messsage_code = msg_code
                self.message = msg
       +        self.client = client
                self.win.emit(SIGNAL('message_dialog'))
        
            def get_pin(self, msg):
       t@@ -651,6 +654,11 @@ class KeepKeyQtHandler:
                l = QLabel(self.message)
                vbox = QVBoxLayout(self.d)
                vbox.addWidget(l)
       +
       +        if self.messsage_code in (3, 8):
       +            vbox.addLayout(Buttons(CancelButton(self.d)))
       +            self.d.connect(self.d, SIGNAL('rejected()'), self.client.cancel)
       +
                self.d.show()
        
            def dialog_stop(self):