tkivy: EmptyLabel - electrum - Electrum Bitcoin wallet (HTM) git clone https://git.parazyd.org/electrum (DIR) Log (DIR) Files (DIR) Refs (DIR) Submodules --- (DIR) commit b545f4ef1210ccd33a30323d909f6524af60140c (DIR) parent bd94bb31db6ea163a7f7970a757e08daa05c6868 (HTM) Author: ThomasV <thomasv@electrum.org> Date: Sat, 16 Jan 2016 16:47:48 +0100 kivy: EmptyLabel Diffstat: M gui/kivy/uix/screens.py | 36 ++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) --- (DIR) diff --git a/gui/kivy/uix/screens.py b/gui/kivy/uix/screens.py t@@ -12,6 +12,7 @@ from kivy.compat import string_types from kivy.properties import (ObjectProperty, DictProperty, NumericProperty, ListProperty, StringProperty) +from kivy.uix.label import Label from kivy.lang import Builder from kivy.factory import Factory t@@ -84,6 +85,14 @@ class CScreen(Factory.Screen): self.add_widget(self.context_menu) +class EmptyLabel(Label): + def __init__(self, **kwargs): + super(EmptyLabel, self).__init__(**kwargs) + self.color=(0.8, 0.8, 0.8, 1) + self.size_hint=(1, None) + self.text_size=(400, None) + + class HistoryScreen(CScreen): tab = ObjectProperty(None) t@@ -139,12 +148,11 @@ class HistoryScreen(CScreen): if self.app.wallet is None: return - history_card = self.screen.ids.history_container history = self.parse_history(reversed( self.app.wallet.get_history(self.app.current_account))) # repopulate History Card + history_card = self.screen.ids.history_container history_card.clear_widgets() - history_add = history_card.add_widget count = 0 for item in history: count += 1 t@@ -158,10 +166,15 @@ class HistoryScreen(CScreen): ri.confirmations = conf ri.tx_hash = tx ri.screen = self - history_add(ri) + history_card.add_widget(ri) if count == 8 and not see_all: break + if count == 0: + msg = _('This screen shows your list of transactions. It is currently empty.') + history_card.add_widget(EmptyLabel(text=msg)) + + class ScreenAddress(CScreen): t@@ -381,7 +394,9 @@ class InvoicesScreen(CScreen): self.menu_actions = [(_('Pay'), self.do_pay), (_('Delete'), self.do_delete)] invoices_list = self.screen.ids.invoices_container invoices_list.clear_widgets() - for pr in self.app.invoices.sorted_list(): + + _list = self.app.invoices.sorted_list() + for pr in _list: ci = Factory.InvoiceItem() ci.key = pr.get_id() ci.requestor = pr.get_requestor() t@@ -399,6 +414,11 @@ class InvoicesScreen(CScreen): ci.screen = self invoices_list.add_widget(ci) + if not _list: + msg = _('This screen shows the list of payment requests that have been sent to you.') + invoices_list.add_widget(EmptyLabel(text=msg)) + + def do_pay(self, obj): self.app.do_pay(obj) t@@ -412,10 +432,10 @@ class RequestsScreen(CScreen): def update(self): self.menu_actions = [(_('Show'), self.do_show), (_('Delete'), self.do_delete)] - requests_list = self.screen.ids.requests_container requests_list.clear_widgets() - for req in self.app.wallet.get_sorted_requests(self.app.electrum_config): + _list = self.app.wallet.get_sorted_requests(self.app.electrum_config) + for req in _list: address = req['address'] timestamp = req.get('time', 0) amount = req.get('amount') t@@ -437,6 +457,10 @@ class RequestsScreen(CScreen): ci.screen = self requests_list.add_widget(ci) + if not _list: + msg = _('This screen shows the list of payment requests you saved.') + requests_list.add_widget(EmptyLabel(text=msg)) + def do_show(self, obj): self.app.show_request(obj.address)