Partially restore e20369bf94, but keep init_qt hook

This commit is contained in:
ThomasV 2016-01-30 11:28:39 +01:00
parent ed401761f1
commit c0ef60aa50
1 changed files with 26 additions and 20 deletions

View File

@ -12,7 +12,11 @@ from electrum.plugins import hook
from exchange_rate import FxPlugin
from electrum.util import timestamp_to_datetime
class Plugin(FxPlugin):
class Plugin(FxPlugin, QObject):
def __init__(self, parent, config, name):
FxPlugin.__init__(self, parent, config, name)
QObject.__init__(self)
def connect_fields(self, window, btc_e, fiat_e, fee_e):
@ -44,14 +48,15 @@ class Plugin(FxPlugin):
@hook
def init_qt(self, gui):
self.app = gui.app
for window in gui.windows:
self.on_new_window(window)
@hook
def do_clear(self, window):
window.fiat_send_e.setText('')
def on_close(self):
self.app.emit(SIGNAL('close_fx_plugin'))
self.emit(SIGNAL('close_fx_plugin'))
def restore_window(self, window):
window.update_status()
@ -60,10 +65,10 @@ class Plugin(FxPlugin):
window.fiat_receive_e.hide()
def on_quotes(self):
self.app.emit(SIGNAL('new_fx_quotes'))
self.emit(SIGNAL('new_fx_quotes'))
def on_history(self):
self.app.emit(SIGNAL('new_fx_history'))
self.emit(SIGNAL('new_fx_history'))
def on_fx_history(self, window):
'''Called when historical fx quotes are updated'''
@ -108,22 +113,23 @@ class Plugin(FxPlugin):
@hook
def on_new_window(self, window):
# Additional send and receive edit boxes
send_e = AmountEdit(self.get_currency)
window.send_grid.addWidget(send_e, 4, 2, Qt.AlignLeft)
window.amount_e.frozen.connect(
lambda: send_e.setFrozen(window.amount_e.isReadOnly()))
receive_e = AmountEdit(self.get_currency)
window.receive_grid.addWidget(receive_e, 2, 2, Qt.AlignLeft)
window.fiat_send_e = send_e
window.fiat_receive_e = receive_e
self.connect_fields(window, window.amount_e, send_e, window.fee_e)
self.connect_fields(window, window.receive_amount_e, receive_e, None)
if not hasattr(window, 'send_e'):
send_e = AmountEdit(self.get_currency)
window.send_grid.addWidget(send_e, 4, 2, Qt.AlignLeft)
window.amount_e.frozen.connect(
lambda: send_e.setFrozen(window.amount_e.isReadOnly()))
receive_e = AmountEdit(self.get_currency)
window.receive_grid.addWidget(receive_e, 2, 2, Qt.AlignLeft)
window.fiat_send_e = send_e
window.fiat_receive_e = receive_e
self.connect_fields(window, window.amount_e, send_e, window.fee_e)
self.connect_fields(window, window.receive_amount_e, receive_e, None)
window.history_list.refresh_headers()
window.update_status()
window.connect(window.app, SIGNAL('new_fx_quotes'), lambda: self.on_fx_quotes(window))
window.connect(window.app, SIGNAL('new_fx_history'), lambda: self.on_fx_history(window))
window.connect(window.app, SIGNAL('close_fx_plugin'), lambda: self.restore_window(window))
window.connect(window.app, SIGNAL('refresh_headers'), window.history_list.refresh_headers)
window.connect(self, SIGNAL('new_fx_quotes'), lambda: self.on_fx_quotes(window))
window.connect(self, SIGNAL('new_fx_history'), lambda: self.on_fx_history(window))
window.connect(self, SIGNAL('close_fx_plugin'), lambda: self.restore_window(window))
window.connect(self, SIGNAL('refresh_headers'), window.history_list.refresh_headers)
def settings_widget(self, window):
return EnterButton(_('Settings'), partial(self.settings_dialog, window))
@ -152,7 +158,7 @@ class Plugin(FxPlugin):
self.get_historical_rates()
else:
self.config.set_key('history_rates', 'unchecked')
self.app.emit(SIGNAL('refresh_headers'))
self.emit(SIGNAL('refresh_headers'))
def ok_clicked():
self.timeout = 0