menu: don't create items if enable is false, previously it was just not shown
This commit is contained in:
parent
da9f970231
commit
0f97f6e32c
@ -25,6 +25,11 @@ class MenuPanel(ScreenPanel):
|
||||
self.grid = self._gtk.HomogeneousGrid()
|
||||
|
||||
def initialize(self, items):
|
||||
for item in items:
|
||||
key = next(iter(item))
|
||||
if not self.evaluate_enable(item[key]['enable']):
|
||||
logging.debug(f"X > {key}")
|
||||
items.remove(item)
|
||||
self.items = items
|
||||
self.create_menu_items()
|
||||
scroll = self._gtk.ScrolledWindow()
|
||||
@ -43,12 +48,8 @@ class MenuPanel(ScreenPanel):
|
||||
self.grid.remove(child)
|
||||
|
||||
length = len(items)
|
||||
i = 0
|
||||
for item in items:
|
||||
for i, item in enumerate(items):
|
||||
key = list(item)[0]
|
||||
if not self.evaluate_enable(item[key]['enable']):
|
||||
logging.debug(f"X > {key}")
|
||||
continue
|
||||
|
||||
if columns == 4:
|
||||
if length <= 4:
|
||||
@ -66,7 +67,6 @@ class MenuPanel(ScreenPanel):
|
||||
width = 2
|
||||
|
||||
self.grid.attach(self.labels[key], col, row, width, height)
|
||||
i += 1
|
||||
self.j2_data = None
|
||||
return self.grid
|
||||
|
||||
@ -84,7 +84,7 @@ class MenuPanel(ScreenPanel):
|
||||
icon = env.from_string(item['icon']).render(printer) if item['icon'] else None
|
||||
style = env.from_string(item['style']).render(printer) if item['style'] else None
|
||||
|
||||
b = self._gtk.Button(icon, name, (style if style else f"color{(i % 4) + 1}"))
|
||||
b = self._gtk.Button(icon, name, style or f"color{i % 4 + 1}")
|
||||
|
||||
if item['panel'] is not None:
|
||||
panel = env.from_string(item['panel']).render(printer)
|
||||
|
Loading…
x
Reference in New Issue
Block a user