diff --git a/app/ui/epg/epg.py b/app/ui/epg/epg.py index 233819e2..cf64e3af 100644 --- a/app/ui/epg/epg.py +++ b/app/ui/epg/epg.py @@ -191,7 +191,8 @@ class EpgTool(Gtk.Box): handlers = {"on_epg_press": self.on_epg_press, "on_timer_add": self.on_timer_add, "on_epg_filter_changed": self.on_epg_filter_changed, - "on_epg_filter_toggled": self.on_epg_filter_toggled} + "on_epg_filter_toggled": self.on_epg_filter_toggled, + "on_view_query_tooltip": self.on_view_query_tooltip} builder = get_builder(f"{UI_RESOURCES_PATH}epg{SEP}tab.glade", handlers) @@ -200,7 +201,6 @@ class EpgTool(Gtk.Box): self._filter_model = builder.get_object("epg_filter_model") self._filter_model.set_visible_func(self.epg_filter_function) self._filter_entry = builder.get_object("epg_filter_entry") - builder.get_object("epg_filter_button").bind_property("active", self._filter_entry, "visible") self.pack_start(builder.get_object("epg_frame"), True, True, 0) # Custom sort function. self._view.get_model().set_sort_func(1, self.time_sort_func, 1) @@ -262,9 +262,10 @@ class EpgTool(Gtk.Box): @staticmethod def get_event(event, show_day=True): - t_str = f"{'%A, ' if show_day else ''}%Y-%m-%d, %H:%M" + t_str = f"{'%a, ' if show_day else ''}%x, %H:%M" title = event.get("e2eventtitle", "") or "" desc = event.get("e2eventdescription", "") or "" + desc = desc.strip() start = int(event.get("e2eventstart", "0")) start_time = datetime.fromtimestamp(start) @@ -291,6 +292,22 @@ class EpgTool(Gtk.Box): return int(event1.get("e2eventstart", "0")) - int(event2.get("e2eventstart", "0")) + def on_view_query_tooltip(self, view, x, y, keyboard_mode, tooltip): + dst = view.get_dest_row_at_pos(x, y) + if not dst: + return False + + path, pos = dst + model = view.get_model() + data = model[path][-1] + desc = data.get("e2eventdescription", "") or "" + ext_desc = data.get("e2eventdescriptionextended", "") or "" + + tooltip.set_text(ext_desc if ext_desc else desc) + view.set_tooltip_row(tooltip, path) + + return True + class EpgDialog: diff --git a/app/ui/epg/tab.glade b/app/ui/epg/tab.glade index 18b4ca3d..cd56a8c0 100644 --- a/app/ui/epg/tab.glade +++ b/app/ui/epg/tab.glade @@ -140,6 +140,7 @@ Author: Dmitriy Yefremov edit-find-replace-symbolic False False + @@ -236,8 +237,9 @@ Author: Dmitriy Yefremov True True both - 2 + 3 + multiple @@ -264,14 +266,15 @@ Author: Dmitriy Yefremov True - 270 + 210 50 Time 0.49000000953674316 1 - 10 + 5 + 0.49000000953674316 1 diff --git a/app/ui/recordings.glade b/app/ui/recordings.glade index 27735d20..76422447 100644 --- a/app/ui/recordings.glade +++ b/app/ui/recordings.glade @@ -325,7 +325,7 @@ Author: Dmitriy Yefremov True - 200 + 180 100 Time 0.5 @@ -333,6 +333,7 @@ Author: Dmitriy Yefremov 5 + 0.49000000953674316 2 diff --git a/app/ui/recordings.py b/app/ui/recordings.py index 0edc7237..e54b9e0f 100644 --- a/app/ui/recordings.py +++ b/app/ui/recordings.py @@ -169,7 +169,7 @@ class RecordingsTool(Gtk.Box): def get_recordings_row(self, rec): service = rec.get("e2servicename") title = rec.get("e2title", "") - time = datetime.fromtimestamp(int(rec.get("e2time", "0"))).strftime("%A, %Y-%m-%d, %H:%M") + time = datetime.fromtimestamp(int(rec.get("e2time", "0"))).strftime("%a, %x, %H:%M") length = rec.get("e2length", "0") file = rec.get("e2filename", "") desc = rec.get("e2description", "") diff --git a/app/ui/timers.glade b/app/ui/timers.glade index 06dc3123..1da34ccc 100644 --- a/app/ui/timers.glade +++ b/app/ui/timers.glade @@ -1206,13 +1206,14 @@ Author: Dmitriy Yefremov True - 270 + 210 50 Time 0.5 5 + 0.49000000953674316 3 diff --git a/app/ui/timers.py b/app/ui/timers.py index 502703ab..b9a4b818 100644 --- a/app/ui/timers.py +++ b/app/ui/timers.py @@ -350,7 +350,7 @@ class TimerTool(Gtk.Box): service = timer.get("e2servicename", "") or "" start_time = datetime.fromtimestamp(int(timer.get("e2timebegin", "0"))) end_time = datetime.fromtimestamp(int(timer.get("e2timeend", "0"))) - time = f"{start_time.strftime('%A, %Y-%m-%d, %H:%M')} - {end_time.strftime('%H:%M')}" + time = f"{start_time.strftime('%a, %x, %H:%M')} - {end_time.strftime('%H:%M')}" return disabled, name, service, time, description, timer