mirror of
https://github.com/DYefremov/DemonEditor.git
synced 2026-01-17 21:13:06 +01:00
fix service status info
This commit is contained in:
@@ -227,7 +227,7 @@ class Application(Gtk.Application):
|
||||
self._save_header_button.bind_property("visible", builder.get_object("save_menu_button"), "visible")
|
||||
self._signal_level_bar.bind_property("visible", builder.get_object("play_current_service_button"), "visible")
|
||||
self._receiver_info_box.bind_property("visible", self._http_status_image, "visible", 4)
|
||||
self._receiver_info_box.bind_property("visible", builder.get_object("signal_box"), "visible")
|
||||
self._receiver_info_box.bind_property("visible", self._signal_box, "visible")
|
||||
# Force ctrl press event for view. Multiple selections in lists only with Space key(as in file managers)!!!
|
||||
self._services_view.connect("key-press-event", self.force_ctrl)
|
||||
self._fav_view.connect("key-press-event", self.force_ctrl)
|
||||
@@ -1924,25 +1924,26 @@ class Application(Gtk.Application):
|
||||
def update_receiver_info(self, info):
|
||||
error_code = info.get("error_code", 0) if info else 0
|
||||
GLib.idle_add(self._receiver_info_box.set_visible, error_code == 0, priority=GLib.PRIORITY_LOW)
|
||||
|
||||
if error_code < 0:
|
||||
return
|
||||
elif error_code == 412:
|
||||
self._http_api.init()
|
||||
return
|
||||
|
||||
res_info = info.get("e2about", None) if info else None
|
||||
if res_info:
|
||||
srv_name = info.get("e2servicename", None) if info else None
|
||||
if srv_name:
|
||||
image = info.get("e2distroversion", "")
|
||||
image_ver = info.get("e2imageversion", "")
|
||||
model = info.get("e2model", "")
|
||||
info_text = "{} Image: {} {}".format(model, image, image_ver)
|
||||
GLib.idle_add(self._receiver_info_label.set_text, info_text, priority=GLib.PRIORITY_LOW)
|
||||
service_name = info.get("e2servicename", None) or ""
|
||||
service_name = srv_name or ""
|
||||
GLib.idle_add(self._service_name_label.set_text, service_name, priority=GLib.PRIORITY_LOW)
|
||||
if service_name:
|
||||
self.update_service_info()
|
||||
|
||||
GLib.idle_add(self._signal_box.set_visible, bool(srv_name), priority=GLib.PRIORITY_LOW)
|
||||
|
||||
def update_service_info(self):
|
||||
if self._http_api:
|
||||
self._http_api.send(HttpRequestType.SIGNAL, None, self.update_signal)
|
||||
@@ -1954,18 +1955,22 @@ class Application(Gtk.Application):
|
||||
@lru_cache(maxsize=2)
|
||||
def set_signal(self, val):
|
||||
val = val.strip().rstrip("%") or 0
|
||||
with suppress(ValueError):
|
||||
self._signal_level_bar.set_value(int(val))
|
||||
GLib.idle_add(self._signal_level_bar.set_visible, val != "N/A")
|
||||
try:
|
||||
val = int(val)
|
||||
self._signal_level_bar.set_value(val)
|
||||
except ValueError:
|
||||
pass # NOP
|
||||
finally:
|
||||
GLib.idle_add(self._signal_level_bar.set_visible, val != 0 and val != "N/A")
|
||||
|
||||
@run_idle
|
||||
def update_status(self, evn):
|
||||
if evn:
|
||||
s_duration = evn.get("e2eventstart", 0)
|
||||
self._service_epg_label.set_visible(bool(s_duration))
|
||||
s_duration = int(evn.get("e2eventstart", 0) or 0)
|
||||
self._service_epg_label.set_visible(s_duration > 0)
|
||||
if not s_duration:
|
||||
return
|
||||
s_duration = int(s_duration)
|
||||
|
||||
s_time = datetime.fromtimestamp(s_duration)
|
||||
end_time = datetime.fromtimestamp(s_duration + int(evn.get("e2eventduration", "0") or "0"))
|
||||
title = evn.get("e2eventtitle", "")
|
||||
|
||||
@@ -2966,6 +2966,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="tooltip_text" translatable="yes">Current service</property>
|
||||
<property name="justify">fill</property>
|
||||
<property name="ellipsize">end</property>
|
||||
<property name="max_width_chars">35</property>
|
||||
<property name="xalign">1</property>
|
||||
<attributes>
|
||||
<attribute name="size" value="8000"/>
|
||||
|
||||
Reference in New Issue
Block a user