kivy: minor fixes related to exchange rates

This commit is contained in:
ThomasV 2018-03-04 23:58:38 +01:00
parent c3ff6040d2
commit c9b0840c78
5 changed files with 10 additions and 3 deletions

View file

@ -179,8 +179,10 @@ class ElectrumWindow(App):
def btc_to_fiat(self, amount_str): def btc_to_fiat(self, amount_str):
if not amount_str: if not amount_str:
return '' return ''
if not self.fx.is_enabled():
return ''
rate = self.fx.exchange_rate() rate = self.fx.exchange_rate()
if not rate: if rate.is_nan():
return '' return ''
fiat_amount = self.get_amount(amount_str + ' ' + self.base_unit) * rate / pow(10, 8) fiat_amount = self.get_amount(amount_str + ' ' + self.base_unit) * rate / pow(10, 8)
return "{:.2f}".format(fiat_amount).rstrip('0').rstrip('.') return "{:.2f}".format(fiat_amount).rstrip('0').rstrip('.')
@ -189,7 +191,7 @@ class ElectrumWindow(App):
if not fiat_amount: if not fiat_amount:
return '' return ''
rate = self.fx.exchange_rate() rate = self.fx.exchange_rate()
if not rate: if rate.is_nan():
return '' return ''
satoshis = int(pow(10,8) * Decimal(fiat_amount) / Decimal(rate)) satoshis = int(pow(10,8) * Decimal(fiat_amount) / Decimal(rate))
return format_satoshis_plain(satoshis, self.decimal_point()) return format_satoshis_plain(satoshis, self.decimal_point())

View file

@ -39,6 +39,7 @@ Builder.load_string('''
size_hint: 1, None size_hint: 1, None
font_size: '20dp' font_size: '20dp'
height: '48dp' height: '48dp'
disabled: not app.fx.is_enabled()
on_release: on_release:
kb.is_fiat = True kb.is_fiat = True
Widget: Widget:

View file

@ -106,4 +106,6 @@ class FxDialog(Factory.Popup):
if ccy != self.fx.get_currency(): if ccy != self.fx.get_currency():
self.fx.set_currency(ccy) self.fx.set_currency(ccy)
self.app.fiat_unit = ccy self.app.fiat_unit = ccy
else:
self.app.is_fiat = False
Clock.schedule_once(lambda dt: self.add_exchanges()) Clock.schedule_once(lambda dt: self.add_exchanges())

View file

@ -373,6 +373,8 @@ class ReceiveScreen(CScreen):
def save_request(self): def save_request(self):
addr = self.screen.address addr = self.screen.address
if not addr:
return
amount = self.screen.amount amount = self.screen.amount
message = self.screen.message message = self.screen.message
amount = self.app.get_amount(amount) if amount else 0 amount = self.app.get_amount(amount) if amount else 0

View file

@ -63,7 +63,7 @@ HistoryScreen:
font_size: '30dp' font_size: '30dp'
bold: True bold: True
size_hint: 1, 0.25 size_hint: 1, 0.25
on_release: app.is_fiat = not app.is_fiat on_release: app.is_fiat = not app.is_fiat if app.fx.is_enabled() else False
ScrollView: ScrollView:
id: content id: content
do_scroll_x: False do_scroll_x: False