Browse Source

make ui less cluttered

Daniel Sheffield 2 years ago
parent
commit
f941652853
1 changed files with 39 additions and 36 deletions
  1. 39 36
      app/activities/RecipeEditor.py

+ 39 - 36
app/activities/RecipeEditor.py

@@ -201,37 +201,40 @@ class RecipeEditor(FocusWidget):
         return self.update()
         return self.update()
 
 
     def init_ingredients(self):
     def init_ingredients(self):
-        left_pane = [
-            LineBox(AttrMap(
-                AutoCompletePopUp(
-                    ingredient[0],
-                    self.apply_choice,
-                    lambda: self.activity_manager.show(self.update(ingredient[0]))
-                ), 'streak'), title=f'Product', title_align='left'
-            ) for idx, ingredient in enumerate(self.ingredients)
-        ]
-        middle_pane = [
-            LineBox(
-                ingredient[1], title=f'Quantity', title_align='left'
-            ) for idx, ingredient in enumerate(self.ingredients)
-        ]
-        right_pane = [
-            LineBox(AttrMap(
-                AutoCompletePopUp(
-                    ingredient[2],
-                    self.apply_choice,
-                    lambda: self.activity_manager.show(self.update(ingredient[2]))
-                ), 'streak'), title=f'Unit', title_align='left'
-            ) for idx, ingredient in enumerate(self.ingredients)
-        ]
-        gutter = [
+        right_pane = LineBox(Pile([AttrMap(
+            AutoCompletePopUp(
+                ingredient[0],
+                self.apply_choice,
+                lambda: self.activity_manager.show(self.update(ingredient[0]))
+            ), 'streak') for ingredient in self.ingredients]),
+            title='Product',
+            title_align='left'
+        )
+        left_pane = LineBox(
+            Pile([AttrMap(
+                ingredient[1],
+                'streak'
+            ) for ingredient in self.ingredients]),
+            title='Quantity',
+            title_align='left'
+        )
+        middle_pane = LineBox(
+            Pile([AttrMap(AutoCompletePopUp(
+                ingredient[2],
+                self.apply_choice,
+                lambda: self.activity_manager.show(self.update(ingredient[2]))
+            ), 'streak') for ingredient in self.ingredients]),
+            title='Unit',
+            title_align='left'
+        )
+        gutter = Pile([
             *[ Divider() for _ in product(
             *[ Divider() for _ in product(
-                range(3), self.ingredients[:-1]
+                range(1), self.ingredients[:-1]
             )],
             )],
             Divider(),
             Divider(),
             Divider(),
             Divider(),
             self.buttons['add'],
             self.buttons['add'],
-        ]
+        ])
         return left_pane, middle_pane, right_pane, gutter
         return left_pane, middle_pane, right_pane, gutter
 
 
     def add_ingredient(self):
     def add_ingredient(self):
@@ -239,10 +242,10 @@ class RecipeEditor(FocusWidget):
             blank_ingredients_row(len(self.ingredients))
             blank_ingredients_row(len(self.ingredients))
         )
         )
         l, m, r, gutter = self.init_ingredients()
         l, m, r, gutter = self.init_ingredients()
-        self.components['left_pane'].contents = list(map(lambda x: (x, ('weight',1)), l))
-        self.components['middle_pane'][1].contents = list(map(lambda x: (x, ('weight',1)), m))
-        self.components['right_pane'][1].contents = list(map(lambda x: (x, ('weight',1)), r))
-        self.components['gutter'][1].contents = list(map(lambda x: (x, ('weight',1)), gutter))
+        self.components['left_pane'][1].original_widget.contents = list(l.original_widget.contents)
+        self.components['middle_pane'][1].original_widget.contents = list(m.original_widget.contents)
+        self.components['right_pane'].original_widget.contents = list(r.original_widget.contents)
+        self.components['gutter'][1].contents = list(gutter.contents)
         for idx, widget in enumerate(self.ingredients):
         for idx, widget in enumerate(self.ingredients):
             connect_signal(widget[0], 'postchange', lambda w,_: self.update(w))
             connect_signal(widget[0], 'postchange', lambda w,_: self.update(w))
             connect_signal(widget[0], 'apply', lambda w, name: self.autocomplete_callback(
             connect_signal(widget[0], 'apply', lambda w, name: self.autocomplete_callback(
@@ -427,9 +430,9 @@ class RecipeEditor(FocusWidget):
                     Divider(),
                     Divider(),
                 ])),
                 ])),
                 Divider(),
                 Divider(),
-                LineBox(Columns([
+                (60, LineBox(Columns([
                     self.fname, (8, self.buttons['save'])
                     self.fname, (8, self.buttons['save'])
-                ]), title='Recipe'),
+                ]), title='Recipe')),
                 Divider(),
                 Divider(),
                 (9, Pile([
                 (9, Pile([
                     Divider(),
                     Divider(),
@@ -438,10 +441,10 @@ class RecipeEditor(FocusWidget):
                 ]))
                 ]))
             ], dividechars=1),
             ], dividechars=1),
             'bottom_pane': Pile(bottom_pane),
             'bottom_pane': Pile(bottom_pane),
-            'right_pane': (15, Pile(right_pane)),
-            'middle_pane': (12, Pile(middle_pane)),
-            'left_pane': Pile(left_pane),
-            'gutter': (8, Pile(gutter))
+            'right_pane': right_pane,
+            'middle_pane': (15, middle_pane),
+            'left_pane': (12, left_pane),
+            'gutter': (8, gutter)
         }
         }
         self.add_ingredient()
         self.add_ingredient()