commit a190d1dbe67bc9868f79da620a375ad40d5dcb04
parent 9caf174d7f1b3e3c1bcc0fcacc2b00b8fbbe21d8
Author: ThomasV <thomasv@electrum.org>
Date: Sun, 13 Dec 2015 15:26:08 +0100
kivy: fixes
Diffstat:
6 files changed, 60 insertions(+), 62 deletions(-)
diff --git a/gui/kivy/main_window.py b/gui/kivy/main_window.py
@@ -240,7 +240,6 @@ class ElectrumWindow(App):
self.update_screen('receive')
receive_tab = self.tabs.ids.receive_tab
self.tabs.ids.panel.switch_to(receive_tab)
- req = self.wallet.receive_requests.get(addr)
def scan_qr(self, on_complete):
from jnius import autoclass
@@ -715,11 +714,14 @@ class ElectrumWindow(App):
pos = (win.center[0], win.center[1] - (info_bubble.height/2))
info_bubble.show(pos, duration, width, modal=modal, exit=exit)
- def tx_dialog(self, obj):
+ def tx_details_dialog(self, obj):
popup = Builder.load_file('gui/kivy/uix/ui_screens/transaction.kv')
popup.tx_hash = obj.tx_hash
popup.open()
+ def tx_label_dialog(self, obj):
+ pass
+
def address_dialog(self, screen):
pass
diff --git a/gui/kivy/uix/screens.py b/gui/kivy/uix/screens.py
@@ -95,7 +95,7 @@ class HistoryScreen(CScreen):
def __init__(self, **kwargs):
self.ra_dialog = None
super(HistoryScreen, self).__init__(**kwargs)
- self.menu_actions = [(_('Details'), self.app.tx_dialog)]
+ self.menu_actions = [ (_('Label'), self.app.tx_label_dialog), (_('Details'), self.app.tx_details_dialog)]
def get_history_rate(self, btc_balance, timestamp):
date = timestamp_to_datetime(timestamp)
@@ -288,8 +288,8 @@ class ReceiveScreen(CScreen):
self.screen.address = addr
req = self.app.wallet.receive_requests.get(addr)
if req:
- self.screen.message = req.get('memo')
self.screen.amount = self.app.format_amount_and_units(req.get('amount'))
+ self.screen.message = unicode(req.get('memo', ''))
def amount_callback(self, popup):
amount_label = self.screen.ids.get('amount')
@@ -318,24 +318,27 @@ class ReceiveScreen(CScreen):
def do_save(self):
addr = str(self.screen.address)
amount = str(self.screen.amount)
- message = unicode(self.screen.message)
+ message = str(self.screen.message) #.ids.message_input.text)
if not message and not amount:
self.app.show_error(_('No message or amount'))
- return False
- amount = self.app.get_amount(amount)
+ return
+ if amount:
+ amount = self.app.get_amount(amount)
+ else:
+ amount = 0
+ print "saving", amount, message
req = self.app.wallet.make_payment_request(addr, amount, message, None)
self.app.wallet.add_payment_request(req, self.app.electrum_config)
self.app.show_error(_('Request saved'))
self.app.update_screen('requests')
- def do_clear(self):
+ def do_new(self):
self.app.receive_address = None
self.screen.amount = ''
self.screen.message = ''
self.update()
-
class ContactsScreen(CScreen):
kvname = 'contacts'
@@ -380,12 +383,11 @@ class InvoicesScreen(CScreen):
ci.amount = self.app.format_amount_and_units(pr.get_amount())
status = self.app.invoices.get_status(ci.key)
if status == PR_PAID:
- icon = "atlas://gui/kivy/theming/light/confirmed"
+ ci.icon = "atlas://gui/kivy/theming/light/confirmed"
elif status == PR_EXPIRED:
- icon = "atlas://gui/kivy/theming/light/important"
+ ci.icon = "atlas://gui/kivy/theming/light/important"
else:
- icon = "atlas://gui/kivy/theming/light/important"
-
+ ci.icon = "atlas://gui/kivy/theming/light/important"
exp = pr.get_expiration_date()
ci.date = format_time(exp) if exp else _('Never')
ci.screen = self
@@ -416,15 +418,16 @@ class RequestsScreen(CScreen):
signature = req.get('sig')
ci = Factory.RequestItem()
ci.address = req['address']
- ci.memo = req.get('memo', '')
+ label, is_default = self.app.wallet.get_label(address)
+ if label:
+ ci.memo = label
status = req.get('status')
if status == PR_PAID:
- icon = "atlas://gui/kivy/theming/light/confirmed"
+ ci.icon = "atlas://gui/kivy/theming/light/confirmed"
elif status == PR_EXPIRED:
- icon = "atlas://gui/kivy/theming/light/important"
+ ci.icon = "atlas://gui/kivy/theming/light/important"
else:
- icon = "atlas://gui/kivy/theming/light/important"
-
+ ci.icon = "atlas://gui/kivy/theming/light/important"
ci.amount = self.app.format_amount_and_units(amount) if amount else ''
ci.date = format_time(timestamp)
ci.screen = self
diff --git a/gui/kivy/uix/ui_screens/history.kv b/gui/kivy/uix/ui_screens/history.kv
@@ -23,46 +23,40 @@
amount: app.format_amount(self.value, True) if self.value is not None else '--'
amount_color: '#FF6657' if self.value < 0 else '#2EA442'
confirmations: 0
- date: '0/0/0'
- quote_text: '.'
+ date: ''
+ quote_text: ''
spacing: '9dp'
- cols: 1
+ Image:
+ id: icon
+ source: root.icon
+ size_hint: None, 1
+ width: self.height *.54
+ mipmap: True
BoxLayout:
- size_hint: 1, None
- spacing: '8dp'
- height: '32dp'
- Image:
- id: icon
- source: root.icon
- size_hint: None, 1
- width: self.height *.54
- mipmap: True
- BoxLayout:
- orientation: 'vertical'
- Widget
- CardLabel:
- color: .699, .699, .699, 1
- text: root.date
- font_size: '14sp'
- CardLabel:
- shorten: True
- text: root.message
- markup: False
- text_size: self.size
- Widget
+ orientation: 'vertical'
+ Widget
CardLabel:
- halign: 'right'
- font_size: '15sp'
- size_hint: None, 1
- width: '110sp'
- markup: True
- font_name: font_light
- text:
- u'[color={amount_color}]{sign}{amount} {unit}[/color]\n'\
- u'[color=#B2B3B3][size=13sp]{qt}[/size]'\
- u'[/color]'.format(amount_color=root.amount_color,\
- amount=root.amount[1:], qt=root.quote_text, sign=root.amount[0],\
- unit=app.base_unit)
+ text: root.date
+ font_size: '14sp'
+ CardLabel:
+ color: .699, .699, .699, 1
+ font_size: '13sp'
+ shorten: True
+ text: root.message if root.message else ' '
+ Widget
+ CardLabel:
+ halign: 'right'
+ font_size: '15sp'
+ size_hint: None, 1
+ width: '110sp'
+ markup: True
+ font_name: font_light
+ text:
+ u'[color={amount_color}]{sign}{amount} {unit}[/color]\n'\
+ u'[color=#B2B3B3][size=13sp]{qt}[/size]'\
+ u'[/color]'.format(amount_color=root.amount_color,\
+ amount=root.amount[1:], qt=root.quote_text, sign=root.amount[0],\
+ unit=app.base_unit)
HistoryScreen:
diff --git a/gui/kivy/uix/ui_screens/invoices.kv b/gui/kivy/uix/ui_screens/invoices.kv
@@ -35,7 +35,7 @@
halign: 'right'
font_size: '15sp'
size_hint: None, 1
- width: '80sp'
+ width: '110sp'
text: root.amount
InvoicesScreen:
diff --git a/gui/kivy/uix/ui_screens/receive.kv b/gui/kivy/uix/ui_screens/receive.kv
@@ -79,7 +79,6 @@ ReceiveScreen:
hint_text: 'Description'
text: s.message
on_text_validate: s.message = self.text
-
BoxLayout:
size_hint: 1, None
height: '48dp'
@@ -89,14 +88,14 @@ ReceiveScreen:
height: '48dp'
on_release: s.parent.do_copy()
Button:
- text: _('New')
+ text: _('Save')
size_hint: 1, None
height: '48dp'
- on_release: s.parent.do_clear()
+ on_release: s.parent.do_save()
Button:
- text: _('Save')
+ text: _('New')
size_hint: 1, None
height: '48dp'
- on_release: s.parent.do_save()
+ on_release: s.parent.do_new()
Widget:
size_hint: 1, 0.3
diff --git a/gui/kivy/uix/ui_screens/requests.kv b/gui/kivy/uix/ui_screens/requests.kv
@@ -35,7 +35,7 @@
halign: 'right'
font_size: '15sp'
size_hint: None, 1
- width: '80sp'
+ width: '110sp'
text: root.amount