浏览代码

Improve display colours and layout

Daniel Sheffield 3 年之前
父节点
当前提交
c1539bd9ed
共有 2 个文件被更改,包括 18 次插入13 次删除
  1. 10 5
      app/activities/TransactionEditor.py
  2. 8 8
      app/widgets.py

+ 10 - 5
app/activities/TransactionEditor.py

@@ -115,8 +115,14 @@ class TransactionEditor(FocusWidget):
         ])
         banner = urwid.AttrMap(banner, 'banner')
         fields = dict([
-            (k, urwid.LineBox(urwid.AttrMap(self.edit_fields[k], 'streak'), title=k.title(), title_align='left')) for k in self.edit_fields
+            (k, urwid.LineBox(urwid.AttrMap(self.edit_fields[k], 'streak'), title=k.title(), title_align='left')) for k in self.edit_fields if k != 'product'
         ])
+        fields.update({
+            'product': urwid.LineBox(urwid.Columns([
+                urwid.AttrMap(self.edit_fields['product'],'streak'),
+                self.organic_checkbox
+            ], dividechars=1), title='Product', title_align='left')
+        })
         txn_view = urwid.Text('')
         self.text_fields.update({'dbview': txn_view})
         fields.update({
@@ -135,10 +141,9 @@ class TransactionEditor(FocusWidget):
             widgets = []
             for c in r:
                 if c is not None:
-                    if c != 'organic':
-                        widgets.append(fields[c])
-                    else:
-                        widgets.append(urwid.LineBox(urwid.AttrMap(self.organic_checkbox, 'bg')))
+                    if c == 'organic':
+                        continue
+                    widgets.append(fields[c])
                 else:
                     widgets.append(urwid.Divider())
             main_pane_widgets.append(urwid.Columns(widgets))

+ 8 - 8
app/widgets.py

@@ -239,7 +239,7 @@ class NewProduct(urwid.Overlay):
         self.query_manager = query_manager
         self.name = name
         
-        title = urwid.Text('Enter Product Info')
+        title = urwid.Text('Enter Product Info', align='center')
         self.fields = OrderedDict()
         for f in ('product', 'category', 'group'):
             w = AutoCompleteEdit(
@@ -258,17 +258,17 @@ class NewProduct(urwid.Overlay):
                     urwid.Divider(),
                     *[
                         urwid.AttrMap(
-                            urwid.LineBox(v, title=k.title(), title_align='left'), 'streak'
+                            urwid.LineBox(urwid.AttrMap(v,'streak'), title=k.title(), title_align='left'), 'banner'
                         ) for k,v in self.fields.items()
                     ],
-                    ok,
+                    urwid.AttrMap(ok, 'banner'),
                 ], focus_item=2)
             ])
-        ), 'streak')
-        super().__init__(body, under,
-            align='center', width=('relative',40),
-            valign='middle', height=('relative',30),
-            min_width=20, min_height=9)
+        ), 'banner')
+        super().__init__(urwid.AttrMap(body, 'bg'), under,
+            align='center', width=('relative', 40),
+            valign='middle', height=('relative', 40),
+            min_width=20, min_height=12)
 
     @property
     def data(self):