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

View file

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

View file

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

View file

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

View file

@ -63,7 +63,7 @@ HistoryScreen:
font_size: '30dp'
bold: True
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:
id: content
do_scroll_x: False