commit c9b0840c7879db73a5fed5fb4ab0b4b086d905d4
parent c3ff6040d25eb58a874aac2ff4355292843daec3
Author: ThomasV <thomasv@electrum.org>
Date: Sun, 4 Mar 2018 23:58:38 +0100
kivy: minor fixes related to exchange rates
Diffstat:
5 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/gui/kivy/main_window.py b/gui/kivy/main_window.py
@@ -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())
diff --git a/gui/kivy/uix/dialogs/amount_dialog.py b/gui/kivy/uix/dialogs/amount_dialog.py
@@ -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:
diff --git a/gui/kivy/uix/dialogs/fx_dialog.py b/gui/kivy/uix/dialogs/fx_dialog.py
@@ -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())
diff --git a/gui/kivy/uix/screens.py b/gui/kivy/uix/screens.py
@@ -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
diff --git a/gui/kivy/uix/ui_screens/history.kv b/gui/kivy/uix/ui_screens/history.kv
@@ -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