diff --git a/epydial/epydial.py b/epydial/epydial.py index e0f8821..d05b277 100755 --- a/epydial/epydial.py +++ b/epydial/epydial.py @@ -119,6 +119,10 @@ class PyneoController(object): # Register our own D-Bus callbacks class_.gsm_wireless.connect_to_signal("Status", class_.on_gsm_wireless_status, dbus_interface=DIN_WIRELESS) + class_.pwr.connect_to_signal("Status", class_.on_pwr_status, dbus_interface=DIN_POWERED) + + status = class_.pwr.GetStatus(dbus_interface=DIN_POWERED) + class_.on_pwr_status(status) @classmethod def power_status_gsm(class_): @@ -313,6 +317,12 @@ class PyneoController(object): if status.has_key('fix'): class_.notify_callbacks("gps_position_change", status) + @classmethod + def on_pwr_status(class_, status_map): + status = dedbusmap(status_map) + print "POWER Status: " + str(status) + class_.notify_callbacks("pwr_status_change", status) + @classmethod def show_dialer_screen(class_): class_.notify_callbacks("show_dialer_screen") diff --git a/epydial/gsm_status_screen.py b/epydial/gsm_status_screen.py index acb7d42..4e17e58 100644 --- a/epydial/gsm_status_screen.py +++ b/epydial/gsm_status_screen.py @@ -13,6 +13,10 @@ class GsmStatusScreen(EdjeGroup): def register_pyneo_callbacks(self): PyneoController.register_callback("power_status_gsm", self.on_power_status_gsm) + PyneoController.register_callback("pwr_status_change", self.on_pwr_status_change) + + def on_pwr_status_change(self, status): + self.part_text_set("gsm_caption", "battvolt: %f
chgstate: %s"%(status['battvolt'], status['chgstate'])) def on_power_status_gsm(self, status): if status: p_status = "on"