add rate conversion to receive tab
This commit is contained in:
parent
66de592343
commit
38e4eeef95
|
@ -732,7 +732,7 @@ class ElectrumWindow(QMainWindow):
|
||||||
|
|
||||||
def create_receive_tab(self):
|
def create_receive_tab(self):
|
||||||
w = QWidget()
|
w = QWidget()
|
||||||
grid = QGridLayout(w)
|
self.receive_grid = grid = QGridLayout(w)
|
||||||
grid.setColumnMinimumWidth(3, 300)
|
grid.setColumnMinimumWidth(3, 300)
|
||||||
|
|
||||||
self.receive_address_e = QLineEdit()
|
self.receive_address_e = QLineEdit()
|
||||||
|
|
|
@ -440,7 +440,8 @@ class Plugin(BasePlugin):
|
||||||
self.exchanger = Exchanger(self)
|
self.exchanger = Exchanger(self)
|
||||||
self.exchanger.start()
|
self.exchanger.start()
|
||||||
self.gui.exchanger = self.exchanger #
|
self.gui.exchanger = self.exchanger #
|
||||||
self.add_fiat_edit()
|
self.add_send_edit()
|
||||||
|
self.add_receive_edit()
|
||||||
self.win.update_status()
|
self.win.update_status()
|
||||||
|
|
||||||
def close(self):
|
def close(self):
|
||||||
|
@ -735,33 +736,42 @@ class Plugin(BasePlugin):
|
||||||
def fiat_unit(self):
|
def fiat_unit(self):
|
||||||
return self.config.get("currency", "EUR")
|
return self.config.get("currency", "EUR")
|
||||||
|
|
||||||
def add_fiat_edit(self):
|
def add_send_edit(self):
|
||||||
self.fiat_e = AmountEdit(self.fiat_unit)
|
fiat_e = AmountEdit(self.fiat_unit)
|
||||||
self.btc_e = self.win.amount_e
|
btc_e = self.win.amount_e
|
||||||
grid = self.btc_e.parent()
|
fee_e = self.win.fee_e
|
||||||
|
self.connect_fields(btc_e, fiat_e, fee_e)
|
||||||
|
self.win.send_grid.addWidget(fiat_e, 4, 3, Qt.AlignHCenter)
|
||||||
|
btc_e.frozen.connect(lambda: fiat_e.setFrozen(btc_e.isReadOnly()))
|
||||||
|
|
||||||
|
def add_receive_edit(self):
|
||||||
|
fiat_e = AmountEdit(self.fiat_unit)
|
||||||
|
btc_e = self.win.receive_amount_e
|
||||||
|
self.connect_fields(btc_e, fiat_e, None)
|
||||||
|
self.win.receive_grid.addWidget(fiat_e, 2, 3, Qt.AlignHCenter)
|
||||||
|
|
||||||
|
def connect_fields(self, btc_e, fiat_e, fee_e):
|
||||||
def fiat_changed():
|
def fiat_changed():
|
||||||
try:
|
try:
|
||||||
fiat_amount = Decimal(str(self.fiat_e.text()))
|
fiat_amount = Decimal(str(fiat_e.text()))
|
||||||
except:
|
except:
|
||||||
self.btc_e.setText("")
|
btc_e.setText("")
|
||||||
self.win.fee_e.setText("")
|
if fee_e: fee_e.setText("")
|
||||||
return
|
return
|
||||||
exchange_rate = self.exchanger.exchange(Decimal("1.0"), self.fiat_unit())
|
exchange_rate = self.exchanger.exchange(Decimal("1.0"), self.fiat_unit())
|
||||||
if exchange_rate is not None:
|
if exchange_rate is not None:
|
||||||
btc_amount = fiat_amount/exchange_rate
|
btc_amount = fiat_amount/exchange_rate
|
||||||
self.btc_e.setAmount(int(btc_amount*Decimal(100000000)))
|
btc_e.setAmount(int(btc_amount*Decimal(100000000)))
|
||||||
self.win.update_fee(False)
|
if fee_e: self.win.update_fee(False)
|
||||||
self.fiat_e.textEdited.connect(fiat_changed)
|
fiat_e.textEdited.connect(fiat_changed)
|
||||||
def btc_changed():
|
def btc_changed():
|
||||||
btc_amount = self.btc_e.get_amount()
|
btc_amount = btc_e.get_amount()
|
||||||
if btc_amount is None:
|
if btc_amount is None:
|
||||||
self.fiat_e.setText("")
|
fiat_e.setText("")
|
||||||
return
|
return
|
||||||
fiat_amount = self.exchanger.exchange(Decimal(btc_amount)/Decimal(100000000), self.fiat_unit())
|
fiat_amount = self.exchanger.exchange(Decimal(btc_amount)/Decimal(100000000), self.fiat_unit())
|
||||||
if fiat_amount is not None:
|
if fiat_amount is not None:
|
||||||
pos = self.fiat_e.cursorPosition()
|
pos = fiat_e.cursorPosition()
|
||||||
self.fiat_e.setText("%.2f"%fiat_amount)
|
fiat_e.setText("%.2f"%fiat_amount)
|
||||||
self.fiat_e.setCursorPosition(pos)
|
fiat_e.setCursorPosition(pos)
|
||||||
self.btc_e.textEdited.connect(btc_changed)
|
btc_e.textEdited.connect(btc_changed)
|
||||||
self.btc_e.frozen.connect(lambda: self.fiat_e.setFrozen(self.btc_e.isReadOnly()))
|
|
||||||
self.win.send_grid.addWidget(self.fiat_e, 4, 3, Qt.AlignHCenter)
|
|
||||||
|
|
Loading…
Reference in New Issue