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):
|
||||
w = QWidget()
|
||||
grid = QGridLayout(w)
|
||||
self.receive_grid = grid = QGridLayout(w)
|
||||
grid.setColumnMinimumWidth(3, 300)
|
||||
|
||||
self.receive_address_e = QLineEdit()
|
||||
|
|
|
@ -440,7 +440,8 @@ class Plugin(BasePlugin):
|
|||
self.exchanger = Exchanger(self)
|
||||
self.exchanger.start()
|
||||
self.gui.exchanger = self.exchanger #
|
||||
self.add_fiat_edit()
|
||||
self.add_send_edit()
|
||||
self.add_receive_edit()
|
||||
self.win.update_status()
|
||||
|
||||
def close(self):
|
||||
|
@ -735,33 +736,42 @@ class Plugin(BasePlugin):
|
|||
def fiat_unit(self):
|
||||
return self.config.get("currency", "EUR")
|
||||
|
||||
def add_fiat_edit(self):
|
||||
self.fiat_e = AmountEdit(self.fiat_unit)
|
||||
self.btc_e = self.win.amount_e
|
||||
grid = self.btc_e.parent()
|
||||
def add_send_edit(self):
|
||||
fiat_e = AmountEdit(self.fiat_unit)
|
||||
btc_e = self.win.amount_e
|
||||
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():
|
||||
try:
|
||||
fiat_amount = Decimal(str(self.fiat_e.text()))
|
||||
fiat_amount = Decimal(str(fiat_e.text()))
|
||||
except:
|
||||
self.btc_e.setText("")
|
||||
self.win.fee_e.setText("")
|
||||
btc_e.setText("")
|
||||
if fee_e: fee_e.setText("")
|
||||
return
|
||||
exchange_rate = self.exchanger.exchange(Decimal("1.0"), self.fiat_unit())
|
||||
if exchange_rate is not None:
|
||||
btc_amount = fiat_amount/exchange_rate
|
||||
self.btc_e.setAmount(int(btc_amount*Decimal(100000000)))
|
||||
self.win.update_fee(False)
|
||||
self.fiat_e.textEdited.connect(fiat_changed)
|
||||
btc_e.setAmount(int(btc_amount*Decimal(100000000)))
|
||||
if fee_e: self.win.update_fee(False)
|
||||
fiat_e.textEdited.connect(fiat_changed)
|
||||
def btc_changed():
|
||||
btc_amount = self.btc_e.get_amount()
|
||||
btc_amount = btc_e.get_amount()
|
||||
if btc_amount is None:
|
||||
self.fiat_e.setText("")
|
||||
fiat_e.setText("")
|
||||
return
|
||||
fiat_amount = self.exchanger.exchange(Decimal(btc_amount)/Decimal(100000000), self.fiat_unit())
|
||||
if fiat_amount is not None:
|
||||
pos = self.fiat_e.cursorPosition()
|
||||
self.fiat_e.setText("%.2f"%fiat_amount)
|
||||
self.fiat_e.setCursorPosition(pos)
|
||||
self.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)
|
||||
pos = fiat_e.cursorPosition()
|
||||
fiat_e.setText("%.2f"%fiat_amount)
|
||||
fiat_e.setCursorPosition(pos)
|
||||
btc_e.textEdited.connect(btc_changed)
|
||||
|
|
Loading…
Reference in New Issue