X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=plugins%2Fexchange_rate.py;h=5128e430057e8a4ffd627767a3f771e1959b998b;hb=cff3d6ce31ad2a701f377d406a4826a7299a3868;hp=8195695adb3b2fbec64887f35779245c161fae04;hpb=efa35d9ec2bdba15343a86d80cddd5abaff16daf;p=electrum-nvc.git diff --git a/plugins/exchange_rate.py b/plugins/exchange_rate.py index 8195695..5128e43 100644 --- a/plugins/exchange_rate.py +++ b/plugins/exchange_rate.py @@ -332,6 +332,7 @@ class Plugin(BasePlugin): self.exchanger = Exchanger(self) self.exchanger.start() self.gui.exchanger = self.exchanger # + self.add_fiat_edit() def set_currencies(self, currency_options): self.currencies = sorted(currency_options) @@ -391,12 +392,14 @@ class Plugin(BasePlugin): def toggle(self): - out = BasePlugin.toggle(self) + enabled = BasePlugin.toggle(self) self.win.update_status() self.win.tabs.removeTab(1) new_send_tab = self.gui.main_window.create_send_tab() self.win.tabs.insertTab(1, new_send_tab, _('Send')) - return out + if enabled: + self.add_fiat_edit() + return enabled def close(self): @@ -634,15 +637,27 @@ class Plugin(BasePlugin): def fiat_unit(self): return self.config.get("currency", "EUR") - def exchange_rate_button(self, grid): + 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 fiat_changed(): fiat_amount = str(self.fiat_e.text()) if fiat_amount in ["", "."]: - fiat_amount = "0" + self.btc_e.setText("") + return exchange_rate = self.exchanger.exchange(Decimal("1.0"), self.fiat_unit()) if exchange_rate is not None: btc_amount = Decimal(fiat_amount) / exchange_rate - self.gui.main_window.amount_e.setAmount(int(btc_amount*Decimal(100000000))) - self.fiat_e.textChanged.connect(fiat_changed) - grid.addWidget(self.fiat_e, 4, 3, Qt.AlignHCenter) + self.btc_e.setAmount(int(btc_amount*Decimal(100000000))) + self.fiat_e.textEdited.connect(fiat_changed) + def btc_changed(): + btc_amount = self.btc_e.get_amount() + if btc_amount is None: + self.fiat_e.setText("") + return + fiat_amount = self.exchanger.exchange(Decimal(btc_amount)/Decimal(100000000), self.fiat_unit()) + if fiat_amount is not None: + self.fiat_e.setText(str(fiat_amount)) + self.btc_e.textEdited.connect(btc_changed) + self.win.send_grid.addWidget(self.fiat_e, 4, 3, Qt.AlignHCenter)