'Sign the transaction in a separate thread.  When done, calls
the callback with a success code of True or False.'

def sign_tx_with_password(self, tx, callback, password):

    run_hook('sign_tx', self, tx)
    def on_signed(result):
        callback(True)
    def on_failed(exc_info):
        self.on_error(exc_info)
        callback(False)
    task = partial(self.wallet.sign_transaction, tx, password)
    WaitingDialog(self, _('Signing    transaction...'), task, on_signed, on_failed)
