From ee6dd511b559c41cec063a4c5945c92dd8956251 Mon Sep 17 00:00:00 2001 From: DYefremov Date: Sat, 28 Jan 2023 14:43:13 +0300 Subject: [PATCH] clearing EPG on profile change --- app/ui/epg/epg.py | 13 +++++++++---- app/ui/main.py | 2 ++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/app/ui/epg/epg.py b/app/ui/epg/epg.py index 494d5250..f4f9ca52 100644 --- a/app/ui/epg/epg.py +++ b/app/ui/epg/epg.py @@ -202,6 +202,7 @@ class EpgTool(Gtk.Box): self._current_bq = None self._app = app self._app.connect("fav-changed", self.on_service_changed) + self._app.connect("profile-changed", self.on_profile_changed) self._app.connect("bouquet-changed", self.on_bouquet_changed) self._app.connect("filter-toggled", self.on_filter_toggled) @@ -292,12 +293,16 @@ class EpgTool(Gtk.Box): self._app.wait_dialog.show() self._app.send_http_request(HttpAPI.Request.EPG, quote(ref), self.update_epg_data) + def on_profile_changed(self, app, prf): + self.update_epg_data() + @run_idle - def update_epg_data(self, epg): + def update_epg_data(self, epg=None): self._event_count_label.set_text("0") self._model.clear() - list(map(self._model.append, (self.get_event(e) for e in epg.get("event_list", []) - if e.get("e2eventid", "").isdigit()))) + if epg: + list(map(self._model.append, (self.get_event(e) for e in epg.get("event_list", []) + if e.get("e2eventid", "").isdigit()))) self._event_count_label.set_text(str(len(self._model))) self._app.wait_dialog.hide() @@ -343,7 +348,7 @@ class EpgTool(Gtk.Box): self._filter_button.set_active(active) if active: self._filter_entry.grab_focus() - + def on_view_query_tooltip(self, view, x, y, keyboard_mode, tooltip): dst = view.get_dest_row_at_pos(x, y) if not dst: diff --git a/app/ui/main.py b/app/ui/main.py index f866deda..17a5867b 100644 --- a/app/ui/main.py +++ b/app/ui/main.py @@ -2737,6 +2737,8 @@ class Application(Gtk.Application): if changed: self.open_data() + if self._settings.display_epg: + self.change_action_state("display_epg", GLib.Variant.new_boolean(self._settings.display_epg)) self.emit("profile-changed", None) def set_profile(self, active):