From 2f13910bf1431ff0f610fd746868e81589e859fe Mon Sep 17 00:00:00 2001 From: ThomasV Date: Sun, 6 Dec 2015 10:25:02 +0100 Subject: [PATCH] kivy: add context button for tx details --- gui/kivy/main.kv | 10 ++++++++++ gui/kivy/main_window.py | 14 +++++++++++++- gui/kivy/uix/ui_screens/history.kv | 6 +++--- 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/gui/kivy/main.kv b/gui/kivy/main.kv index 79ba44bc..e8fe3e05 100644 --- a/gui/kivy/main.kv +++ b/gui/kivy/main.kv @@ -353,6 +353,16 @@ BoxLayout: .format(app.status) font_size: '22dp' minimum_width: '1dp' + on_release: + app.context_action() + + ActionButton: + id: context_button + text: app.context + width: 0 + on_text: + self.width = 20 if self.text else 0 + on_release: app.context_action() ActionOverflow: id: ao diff --git a/gui/kivy/main_window.py b/gui/kivy/main_window.py index 3f097b5b..a8c42f2c 100644 --- a/gui/kivy/main_window.py +++ b/gui/kivy/main_window.py @@ -76,8 +76,9 @@ class ElectrumWindow(App): keys = sorted(base_units.keys()) self.base_unit = keys[ (keys.index(self.base_unit) + 1) % len(keys)] + context = StringProperty('') + context_action = lambda: None status = StringProperty(_('Not Connected')) - fiat_unit = StringProperty('') def decimal_point(self): @@ -759,6 +760,17 @@ class ElectrumWindow(App): popup.tx_hash = tx_hash popup.open() + def tx_selected(self, txid, state): + if state == 'down': + self.context = 'tx' + self.context_action = lambda: self.tx_dialog(txid) + else: + self.reset_context() + + def reset_context(self): + self.context = '' + self.context_action = lambda: None + def amount_dialog(self, screen, show_max): popup = Builder.load_file('gui/kivy/uix/ui_screens/amount.kv') but_max = popup.ids.but_max diff --git a/gui/kivy/uix/ui_screens/history.kv b/gui/kivy/uix/ui_screens/history.kv index 6bb5059a..5f298d2b 100644 --- a/gui/kivy/uix/ui_screens/history.kv +++ b/gui/kivy/uix/ui_screens/history.kv @@ -38,7 +38,7 @@ size: self.texture_size[0] + dp(32), self.texture_size[1] + dp(7) - + canvas.before: Color: rgba: 0.192, .498, 0.745, 1 if self.state == 'down' else 0 @@ -50,6 +50,7 @@ spacing: '2dp' size_hint: 1, None height: self.minimum_height + group: 'history' icon: 'atlas://gui/kivy/theming/light/important' @@ -60,10 +61,9 @@ confirmations: 0 date: '0/0/0' quote_text: '.' - spacing: '9dp' on_release: - app.tx_dialog(root.tx_hash) + app.tx_selected(root.tx_hash, self.state) BoxLayout: size_hint: 1, None spacing: '8dp'