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()
|
self.grid = self._gtk.HomogeneousGrid()
|
||||||
|
|
||||||
def initialize(self, items):
|
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.items = items
|
||||||
self.create_menu_items()
|
self.create_menu_items()
|
||||||
scroll = self._gtk.ScrolledWindow()
|
scroll = self._gtk.ScrolledWindow()
|
||||||
@ -43,12 +48,8 @@ class MenuPanel(ScreenPanel):
|
|||||||
self.grid.remove(child)
|
self.grid.remove(child)
|
||||||
|
|
||||||
length = len(items)
|
length = len(items)
|
||||||
i = 0
|
for i, item in enumerate(items):
|
||||||
for item in items:
|
|
||||||
key = list(item)[0]
|
key = list(item)[0]
|
||||||
if not self.evaluate_enable(item[key]['enable']):
|
|
||||||
logging.debug(f"X > {key}")
|
|
||||||
continue
|
|
||||||
|
|
||||||
if columns == 4:
|
if columns == 4:
|
||||||
if length <= 4:
|
if length <= 4:
|
||||||
@ -66,7 +67,6 @@ class MenuPanel(ScreenPanel):
|
|||||||
width = 2
|
width = 2
|
||||||
|
|
||||||
self.grid.attach(self.labels[key], col, row, width, height)
|
self.grid.attach(self.labels[key], col, row, width, height)
|
||||||
i += 1
|
|
||||||
self.j2_data = None
|
self.j2_data = None
|
||||||
return self.grid
|
return self.grid
|
||||||
|
|
||||||
@ -84,7 +84,7 @@ class MenuPanel(ScreenPanel):
|
|||||||
icon = env.from_string(item['icon']).render(printer) if item['icon'] else None
|
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
|
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:
|
if item['panel'] is not None:
|
||||||
panel = env.from_string(item['panel']).render(printer)
|
panel = env.from_string(item['panel']).render(printer)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user