move set_url to __init__. fixes #672
This commit is contained in:
parent
9196e9feea
commit
bb88c891dc
|
@ -147,6 +147,29 @@ class ElectrumGui:
|
|||
return int(qtVersion[0]) >= 4 and int(qtVersion[2]) >= 7
|
||||
|
||||
|
||||
def set_url(self, url):
|
||||
from electrum import util
|
||||
from decimal import Decimal
|
||||
try:
|
||||
address, amount, label, message, url = util.parse_url(url)
|
||||
except Exception:
|
||||
QMessageBox.warning(self.main_window, _('Error'), _('Invalid bitcoin URL'), _('OK'))
|
||||
return
|
||||
|
||||
try:
|
||||
if amount and self.main_window.base_unit() == 'mBTC':
|
||||
amount = str( 1000* Decimal(amount))
|
||||
elif amount:
|
||||
amount = str(Decimal(amount))
|
||||
except Exception:
|
||||
amount = "0.0"
|
||||
QMessageBox.warning(self.main_window, _('Error'), _('Invalid Amount'), _('OK'))
|
||||
|
||||
|
||||
self.main_window.set_send(address, amount, label, message)
|
||||
if self.lite_window:
|
||||
self.lite_window.set_payment_fields(address, amount)
|
||||
|
||||
|
||||
def main(self, url):
|
||||
|
||||
|
@ -191,7 +214,9 @@ class ElectrumGui:
|
|||
s.start()
|
||||
|
||||
self.windows.append(w)
|
||||
if url: w.set_url(url)
|
||||
if url:
|
||||
self.set_url(url)
|
||||
|
||||
w.app = self.app
|
||||
w.connect_slots(s)
|
||||
w.update_wallet()
|
||||
|
|
|
@ -880,22 +880,8 @@ class ElectrumWindow(QMainWindow):
|
|||
|
||||
|
||||
|
||||
def set_url(self, url):
|
||||
try:
|
||||
address, amount, label, message, signature, identity, url = util.parse_url(url)
|
||||
except Exception:
|
||||
QMessageBox.warning(self, _('Error'), _('Invalid bitcoin URL'), _('OK'))
|
||||
return
|
||||
|
||||
try:
|
||||
if amount and self.base_unit() == 'mBTC': amount = str( 1000* Decimal(amount))
|
||||
elif amount: amount = str(Decimal(amount))
|
||||
except Exception:
|
||||
amount = "0.0"
|
||||
QMessageBox.warning(self, _('Error'), _('Invalid Amount'), _('OK'))
|
||||
|
||||
if self.mini:
|
||||
self.mini.set_payment_fields(address, amount)
|
||||
def set_send(self, address, amount, label, message):
|
||||
|
||||
if label and self.wallet.labels.get(address) != label:
|
||||
if self.question('Give label "%s" to address %s ?'%(label,address)):
|
||||
|
@ -903,8 +889,6 @@ class ElectrumWindow(QMainWindow):
|
|||
self.wallet.addressbook.append(address)
|
||||
self.wallet.set_label(address, label)
|
||||
|
||||
run_hook('set_url', url, self.show_message, self.question)
|
||||
|
||||
self.tabs.setCurrentIndex(1)
|
||||
label = self.wallet.labels.get(address)
|
||||
m_addr = label + ' <'+ address +'>' if label else address
|
||||
|
@ -914,13 +898,6 @@ class ElectrumWindow(QMainWindow):
|
|||
if amount:
|
||||
self.amount_e.setText(amount)
|
||||
|
||||
if identity:
|
||||
self.set_frozen(self.payto_e,True)
|
||||
self.set_frozen(self.amount_e,True)
|
||||
self.set_frozen(self.message_e,True)
|
||||
self.payto_sig.setText( ' '+_('The bitcoin URI was signed by')+' ' + identity )
|
||||
else:
|
||||
self.payto_sig.setVisible(False)
|
||||
|
||||
def do_clear(self):
|
||||
self.payto_sig.setVisible(False)
|
||||
|
|
|
@ -171,7 +171,7 @@ def parse_url(url):
|
|||
|
||||
kv = {}
|
||||
|
||||
amount = label = message = signature = identity = ''
|
||||
amount = label = message = ''
|
||||
for p in params:
|
||||
k,v = p.split('=')
|
||||
uv = urldecode(v)
|
||||
|
@ -191,11 +191,8 @@ def parse_url(url):
|
|||
message = kv['message']
|
||||
if 'label' in kv:
|
||||
label = kv['label']
|
||||
if 'signature' in kv:
|
||||
identity, signature = kv['signature'].split(':')
|
||||
url = url.replace('&%s=%s'%('signature',kv['signature']),'')
|
||||
|
||||
return address, amount, label, message, signature, identity, url
|
||||
return address, amount, label, message, url
|
||||
|
||||
|
||||
# Python bug (http://bugs.python.org/issue1927) causes raw_input
|
||||
|
|
Loading…
Reference in New Issue