~fabrixxm/confy

088343f830515d40407da9be03179cd9418f97e4 — fabrixxm 3 months ago 017b3dd
Hide empty pages in sidebar
1 files changed, 10 insertions(+), 0 deletions(-)

M src/mainwindow.py
M src/mainwindow.py => src/mainwindow.py +10 -0
@@ 59,10 59,13 @@ class MainWindow(Adw.ApplicationWindow):
        self.subpage_leaflet.get_page(self.subpage_search_all).set_navigatable(False)
        self.set_pageheader_title()
        self.show_loader()

        self.connect('conf-updated', self._on_conf_updated)
        try:
            fetcher = local.openconf(conf, is_online=self.nm.props.isconnected)
        except Exception as e:
            self.show_error(e)
            return
        else:
            if fetcher is not None:
                fetcher.connect("done", self._on_fetcher_done)


@@ 87,6 90,13 @@ class MainWindow(Adw.ApplicationWindow):

        self.connect("conf-updated", self.subpage_events.update)

    def _on_conf_updated(self, *_):
        # hide empty pages
        for p in self.main_stack.get_pages():
            child = p.get_child()
            if p.get_name() in ('days', 'tracks', 'rooms',):
                p.set_visible(len(list(child.get_objects())) > 0)

    def _add_action(self, name, parameter_type, activate_cbk):
        action = Gio.SimpleAction.new(name, parameter_type)
        action.connect("activate", activate_cbk)