set title for internal options subpanels
the menu/subpanel system is a bit complex and hard to use consider removing it and use individual panels of options
This commit is contained in:
parent
ef5f86a67d
commit
8d2f90f800
@ -61,7 +61,7 @@ class ScreenPanel:
|
||||
def show_all(self):
|
||||
self._screen.show_all()
|
||||
|
||||
def load_menu(self, widget, name):
|
||||
def load_menu(self, widget, name, title=None):
|
||||
if f"{name}_menu" not in self.labels:
|
||||
return
|
||||
|
||||
@ -71,12 +71,14 @@ class ScreenPanel:
|
||||
self.menu.append(f'{name}_menu')
|
||||
self.content.add(self.labels[self.menu[-1]])
|
||||
self.content.show_all()
|
||||
if title:
|
||||
self._screen.base_panel.set_title(f"{self.title} | {title}")
|
||||
|
||||
def unload_menu(self, widget=None):
|
||||
logging.debug(f"self.menu: {self.menu}")
|
||||
if len(self.menu) <= 1 or self.menu[-2] not in self.labels:
|
||||
return
|
||||
|
||||
self._screen.base_panel.set_title(self._screen.panels[self._screen._cur_panels[-1]].title)
|
||||
self.menu.pop()
|
||||
for child in self.content.get_children():
|
||||
self.content.remove(child)
|
||||
|
@ -28,7 +28,7 @@ class MacroPanel(ScreenPanel):
|
||||
sort.set_hexpand(False)
|
||||
|
||||
adjust = self._gtk.ButtonImage("settings", None, "color2", 1, Gtk.PositionType.LEFT, 1)
|
||||
adjust.connect("clicked", self.load_menu, 'options')
|
||||
adjust.connect("clicked", self.load_menu, 'options', _("Settings"))
|
||||
adjust.set_hexpand(False)
|
||||
|
||||
sbox = Gtk.Box()
|
||||
|
@ -113,7 +113,7 @@ class MovePanel(ScreenPanel):
|
||||
self.labels['pos_y'] = Gtk.Label("Y: 0")
|
||||
self.labels['pos_z'] = Gtk.Label("Z: 0")
|
||||
adjust = self._gtk.ButtonImage("settings", None, "color2", 1, Gtk.PositionType.LEFT, 1)
|
||||
adjust.connect("clicked", self.load_menu, 'options')
|
||||
adjust.connect("clicked", self.load_menu, 'options', _('Settings'))
|
||||
adjust.set_hexpand(False)
|
||||
self.labels['move_dist'] = Gtk.Label(_("Move Distance (mm)"))
|
||||
|
||||
|
@ -120,7 +120,7 @@ class SettingsPanel(ScreenPanel):
|
||||
dev.add(box)
|
||||
elif option['type'] == "menu":
|
||||
open_menu = self._gtk.ButtonImage("settings", style="color3")
|
||||
open_menu.connect("clicked", self.load_menu, option['menu'])
|
||||
open_menu.connect("clicked", self.load_menu, option['menu'], option['name'])
|
||||
open_menu.set_hexpand(False)
|
||||
open_menu.set_halign(Gtk.Align.END)
|
||||
dev.add(open_menu)
|
||||
|
Loading…
x
Reference in New Issue
Block a user