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:
alfrix 2022-11-22 00:44:51 -03:00
parent ef5f86a67d
commit 8d2f90f800
4 changed files with 7 additions and 5 deletions

View File

@ -61,7 +61,7 @@ class ScreenPanel:
def show_all(self): def show_all(self):
self._screen.show_all() 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: if f"{name}_menu" not in self.labels:
return return
@ -71,12 +71,14 @@ class ScreenPanel:
self.menu.append(f'{name}_menu') self.menu.append(f'{name}_menu')
self.content.add(self.labels[self.menu[-1]]) self.content.add(self.labels[self.menu[-1]])
self.content.show_all() self.content.show_all()
if title:
self._screen.base_panel.set_title(f"{self.title} | {title}")
def unload_menu(self, widget=None): def unload_menu(self, widget=None):
logging.debug(f"self.menu: {self.menu}") logging.debug(f"self.menu: {self.menu}")
if len(self.menu) <= 1 or self.menu[-2] not in self.labels: if len(self.menu) <= 1 or self.menu[-2] not in self.labels:
return return
self._screen.base_panel.set_title(self._screen.panels[self._screen._cur_panels[-1]].title)
self.menu.pop() self.menu.pop()
for child in self.content.get_children(): for child in self.content.get_children():
self.content.remove(child) self.content.remove(child)

View File

@ -28,7 +28,7 @@ class MacroPanel(ScreenPanel):
sort.set_hexpand(False) sort.set_hexpand(False)
adjust = self._gtk.ButtonImage("settings", None, "color2", 1, Gtk.PositionType.LEFT, 1) 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) adjust.set_hexpand(False)
sbox = Gtk.Box() sbox = Gtk.Box()

View File

@ -113,7 +113,7 @@ class MovePanel(ScreenPanel):
self.labels['pos_y'] = Gtk.Label("Y: 0") self.labels['pos_y'] = Gtk.Label("Y: 0")
self.labels['pos_z'] = Gtk.Label("Z: 0") self.labels['pos_z'] = Gtk.Label("Z: 0")
adjust = self._gtk.ButtonImage("settings", None, "color2", 1, Gtk.PositionType.LEFT, 1) 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) adjust.set_hexpand(False)
self.labels['move_dist'] = Gtk.Label(_("Move Distance (mm)")) self.labels['move_dist'] = Gtk.Label(_("Move Distance (mm)"))

View File

@ -120,7 +120,7 @@ class SettingsPanel(ScreenPanel):
dev.add(box) dev.add(box)
elif option['type'] == "menu": elif option['type'] == "menu":
open_menu = self._gtk.ButtonImage("settings", style="color3") 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_hexpand(False)
open_menu.set_halign(Gtk.Align.END) open_menu.set_halign(Gtk.Align.END)
dev.add(open_menu) dev.add(open_menu)