From c6fc5cc11eae565f8779a0aec888f95bfc9d49c8 Mon Sep 17 00:00:00 2001 From: fgau Date: Sun, 21 Sep 2008 13:31:37 +0000 Subject: [PATCH] add fix or no fix git-svn-id: http://www.neo1973-germany.de/svn@169 46df4e5c-bc4e-4628-a0fc-830ba316316d --- epydial/epydial.py | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/epydial/epydial.py b/epydial/epydial.py index 8193b92..2fb4eeb 100755 --- a/epydial/epydial.py +++ b/epydial/epydial.py @@ -67,12 +67,16 @@ class GpsStatusScreen(EdjeGroup): def register_pyneo_callbacks(self): PyneoController.register_callback("gps_power_status", self.on_gps_power_status) + PyneoController.register_callback("gps_fix_change", self.on_gps_fix_change) def on_gps_power_status(self, status): if status: p_status = "on" else: p_status = "off" print '--- gps device is ', p_status self.part_text_set("button_11_caption", p_status) + + def on_gps_fix_change(self, status): + self.part_text_set("fix_caption", "fix: %s"%status) @edje.decorators.signal_callback("gps_send", "*") def on_edje_signal_dialer_status_triggered(self, emission, source): @@ -301,16 +305,22 @@ class PyneoController(object): # No error (anymore) if class_._gps_timer: class_._gps_timer.stop() + # Register our own D-Bus Gps callbacks + class_.gps.connect_to_signal("Position", class_.on_gps_position_status, dbus_interface=DIN_LOCATION) + class_.notify_callbacks("gps_power_status", class_.gps.GetPower(APP_TITLE, dbus_interface=DIN_POWERED)) + + status = class_.gps.GetPosition(dbus_interface=DIN_LOCATION) + class_.on_gps_position_status(status) @classmethod def power_down_gps(class_): class_.gps.SetPower(APP_TITLE, False, dbus_interface=DIN_POWERED) class_.notify_callbacks("gps_power_status", class_.gps.GetPower(APP_TITLE, dbus_interface=DIN_POWERED)) - @classmethod - def power_status_gsm(class_): - return class_.gsm.GetPower(APP_TITLE, dbus_interface=DIN_POWERED) +# @classmethod +# def power_status_gsm(class_): +# return class_.gsm.GetPower(APP_TITLE, dbus_interface=DIN_POWERED) @classmethod def power_up_gsm(class_): @@ -394,6 +404,14 @@ class PyneoController(object): # Remove the call from our list # class_._calls.__delitem__(call_obj) + @classmethod + def on_gps_position_status(class_, status_map): + status = dedbusmap(status_map) + print "GPS Status: " + str(status) + + if status.has_key('fix'): + class_.notify_callbacks("gps_fix_change", status['fix']) + @classmethod def on_gsm_wireless_status(class_, status_map): status = dedbusmap(status_map)