Browse Source

kivy: fixes

283
ThomasV 9 years ago
parent
commit
a190d1dbe6
  1. 6
      gui/kivy/main_window.py
  2. 35
      gui/kivy/uix/screens.py
  3. 68
      gui/kivy/uix/ui_screens/history.kv
  4. 2
      gui/kivy/uix/ui_screens/invoices.kv
  5. 9
      gui/kivy/uix/ui_screens/receive.kv
  6. 2
      gui/kivy/uix/ui_screens/requests.kv

6
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

35
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

68
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:

2
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:

9
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

2
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

Loading…
Cancel
Save