|
@@ -32,8 +32,8 @@ grid_layout = [
|
|
|
[ 'category', 'group', ],
|
|
|
]
|
|
|
side_pane = [
|
|
|
- 'quantity',
|
|
|
'unit',
|
|
|
+ 'quantity',
|
|
|
'price',
|
|
|
]
|
|
|
bottom_pane = [
|
|
@@ -130,11 +130,11 @@ class AutoCompleteEdit(urwid.Edit):
|
|
|
pallete, title = name
|
|
|
self.name = title
|
|
|
title = title.title()
|
|
|
- passthrough = (pallete, u'')
|
|
|
+ passthrough = (pallete, u' ' if title.lower() == 'unit' else u'')
|
|
|
else:
|
|
|
self.name = name
|
|
|
title = name.title()
|
|
|
- passthrough = title
|
|
|
+ passthrough = u' ' if name.lower() == 'unit' else u''
|
|
|
|
|
|
super(AutoCompleteEdit, self).__init__(passthrough, *args, **kwargs)
|
|
|
self.apply = apply_change_func
|
|
@@ -146,28 +146,34 @@ class AutoCompleteEdit(urwid.Edit):
|
|
|
|
|
|
class AutoCompleteFloatEdit(numedit.FloatEdit):
|
|
|
def __init__(self, name, *args, apply_change_func=None, **kwargs):
|
|
|
+ self.op = '='
|
|
|
+ self.pallete = None
|
|
|
if isinstance(name, tuple):
|
|
|
- pallete, title = name
|
|
|
+ self.pallete, title = name
|
|
|
self.name = title
|
|
|
title = title.title()
|
|
|
- passthrough = (pallete, u'')
|
|
|
+ passthrough = (self.pallete, f'{self.op} ')
|
|
|
else:
|
|
|
self.name = name
|
|
|
title = name.title()
|
|
|
passthrough = title
|
|
|
-
|
|
|
- self.op = '='
|
|
|
|
|
|
super(AutoCompleteFloatEdit, self).__init__(passthrough, *args, **kwargs)
|
|
|
- self.set_caption('=')
|
|
|
self.apply = apply_change_func
|
|
|
|
|
|
+ def update_caption(self):
|
|
|
+ if self.pallete is not None:
|
|
|
+ self.set_caption((self.pallete, f'{self.op}'))
|
|
|
+ else:
|
|
|
+ self.set_caption(f'{self.op} ')
|
|
|
+
|
|
|
+
|
|
|
def set_op(self, op):
|
|
|
self.op = op
|
|
|
self.last_val = self.value()
|
|
|
self.set_edit_text('')
|
|
|
- self.set_caption(self.op)
|
|
|
-
|
|
|
+ self.update_caption()
|
|
|
+
|
|
|
def calc(self):
|
|
|
x = self.last_val
|
|
|
y = self.value()
|
|
@@ -182,7 +188,7 @@ class AutoCompleteFloatEdit(numedit.FloatEdit):
|
|
|
z = x / y
|
|
|
|
|
|
self.op = '='
|
|
|
- self.set_caption(self.op)
|
|
|
+ self.update_caption()
|
|
|
self.set_edit_text(f'{z:.2f}')
|
|
|
|
|
|
def keypress(self, size, key):
|