replace fiat dialog with direct edit line

This commit is contained in:
ThomasV 2014-06-11 15:32:09 +02:00
parent a530de3122
commit d9d76436db
1 changed files with 11 additions and 52 deletions

View File

@ -634,56 +634,15 @@ class Plugin(BasePlugin):
def fiat_unit(self):
return self.config.get("currency", "EUR")
def fiat_dialog(self):
if not self.config.get('use_exchange_rate'):
self.gui.main_window.show_message(_("To use this feature, first enable the exchange rate plugin."))
return
if not self.gui.main_window.network.is_connected():
self.gui.main_window.show_message(_("To use this feature, you must have a network connection."))
return
quote_currency = self.fiat_unit()
d = QDialog(self.gui.main_window)
d.setWindowTitle("Fiat")
vbox = QVBoxLayout(d)
text = "Amount to Send in " + quote_currency
vbox.addWidget(QLabel(_(text)+':'))
grid = QGridLayout()
fiat_e = AmountEdit(self.fiat_unit)
grid.addWidget(fiat_e, 1, 0)
r = {}
self.get_fiat_price_text(r)
quote = r.get(0)
if quote:
text = "1 BTC~%s"%quote
grid.addWidget(QLabel(_(text)), 4, 0, 3, 0)
else:
self.gui.main_window.show_message(_("Exchange rate not available. Please check your network connection."))
return
vbox.addLayout(grid)
vbox.addLayout(ok_cancel_buttons(d))
if not d.exec_():
return
fiat = str(fiat_e.text())
if str(fiat) == "" or str(fiat) == ".":
fiat = "0"
quote = quote[:-4]
btcamount = Decimal(fiat) / Decimal(quote)
if str(self.gui.main_window.base_unit()) == "mBTC":
btcamount = btcamount * 1000
quote = "%.8f"%btcamount
self.gui.main_window.amount_e.setText( quote )
def exchange_rate_button(self, grid):
quote_currency = self.fiat_unit()
self.fiat_button = EnterButton(_(quote_currency), self.fiat_dialog)
grid.addWidget(self.fiat_button, 4, 3, Qt.AlignHCenter)
self.fiat_e = AmountEdit(self.fiat_unit)
def fiat_changed():
fiat_amount = str(self.fiat_e.text())
if fiat_amount in ["", "."]:
fiat_amount = "0"
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(btc_amount*Decimal(100000000))
self.fiat_e.textChanged.connect(fiat_changed)
grid.addWidget(self.fiat_e, 4, 3, Qt.AlignHCenter)