tmove methods related to amount dialog - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit e46b00bb39a8f3b324a72d6fc4f7015a9cff4402 DIR parent f7a3b53c3fc200f675abe0475197011e9b805c8d HTML Author: ThomasV <thomasv@electrum.org> Date: Fri, 18 Dec 2015 13:04:19 +0100 move methods related to amount dialog Diffstat: M gui/kivy/main.kv | 6 ------ M gui/kivy/main_window.py | 22 ---------------------- M gui/kivy/uix/dialogs/amount_dialog… | 36 +++++++++++++++++++++++++++---- M gui/kivy/uix/ui_screens/receive.kv | 7 ++++--- 4 files changed, 36 insertions(+), 35 deletions(-) --- DIR diff --git a/gui/kivy/main.kv b/gui/kivy/main.kv t@@ -243,12 +243,6 @@ background_active: 'atlas://gui/kivy/theming/light/textinput_active' -<KButton@Button>: - size_hint: 1, None - height: '48dp' - on_release: - self.parent.update_text(self.parent, self.text) - <TabbedPanelStrip>: on_parent: DIR diff --git a/gui/kivy/main_window.py b/gui/kivy/main_window.py t@@ -491,28 +491,6 @@ class ElectrumWindow(App): text += c label.password = text - def toggle_fiat(self, a): - a.is_fiat = not a.is_fiat - - def update_amount(self, label, c): - amount = label.fiat_amount if label.is_fiat else label.amount - if c == '<': - amount = amount[:-1] - elif c == '.' and amount == '': - amount = '0.' - elif c == '0' and amount == '0': - amount = '0' - else: - try: - Decimal(amount+c) - amount += c - except: - pass - - if label.is_fiat: - label.fiat_amount = amount - else: - label.amount = amount def format_amount(self, x, is_diff=False, whitespaces=False): return format_satoshis(x, is_diff, 0, self.decimal_point(), whitespaces) DIR diff --git a/gui/kivy/uix/dialogs/amount_dialog.py b/gui/kivy/uix/dialogs/amount_dialog.py t@@ -2,9 +2,15 @@ from kivy.app import App from kivy.factory import Factory from kivy.properties import ObjectProperty from kivy.lang import Builder - +from decimal import Decimal Builder.load_string(''' +<KButton@Button>: + size_hint: 1, None + height: '48dp' + on_release: + self.parent.update_amount(self.text) + <AmountDialog@Popup> id: popup title: _('Amount') t@@ -32,8 +38,8 @@ Builder.load_string(''' is_fiat: False on_fiat_amount: if self.is_fiat: self.amount = app.fiat_to_btc(self.fiat_amount) on_amount: if not self.is_fiat: self.fiat_amount = app.btc_to_fiat(self.amount) - update_text: app.update_amount size_hint: 1, None + update_amount: popup.update_amount height: '300dp' cols: 3 KButton: t@@ -76,7 +82,7 @@ Builder.load_string(''' height: '48dp' text: (app.fiat_unit if kb.is_fiat else app.base_unit) if app.fiat_unit else '' on_release: - app.toggle_fiat(kb) + popup.toggle_fiat(kb) Button: size_hint: 1, None height: '48dp' t@@ -90,7 +96,7 @@ Builder.load_string(''' size_hint: 1, None height: '48dp' Widget: - size_hint: 2, None + size_hint: 1, None height: '48dp' Button: size_hint: 1, None t@@ -112,3 +118,25 @@ class AmountDialog(Factory.Popup): if amount: self.ids.kb.amount = amount + def toggle_fiat(self, a): + a.is_fiat = not a.is_fiat + + def update_amount(self, c): + kb = self.ids.kb + amount = kb.fiat_amount if kb.is_fiat else kb.amount + if c == '<': + amount = amount[:-1] + elif c == '.' and amount in ['0', '']: + amount = '0.' + elif amount == '0': + amount = c + else: + try: + Decimal(amount+c) + amount += c + except: + pass + if kb.is_fiat: + kb.fiat_amount = amount + else: + kb.amount = amount DIR diff --git a/gui/kivy/uix/ui_screens/receive.kv b/gui/kivy/uix/ui_screens/receive.kv t@@ -42,7 +42,8 @@ ReceiveScreen: size_hint: 1, None height: '48dp' opacity: 0.5 if qr.shaded else 1 - text: s.address + text: _('Bitcoin Address') + ': ' + s.address + text_size: self.width, None SendReceiveBlueBottom: id: blue_bottom t@@ -98,5 +99,5 @@ ReceiveScreen: size_hint: 1, None height: '48dp' on_release: s.parent.do_new() - Widget: - size_hint: 1, 0.3 + #Widget: + # size_hint: 1, 0.3