self.events = Events()
self.win = hildon.StackableWindow()
self.app_title = "Gig Finder"
+ self.update_thread = Thread(target=self.update_gigs)
def main(self):
""" Build the gui and start the update thread """
self.win.set_app_menu(menu)
self.add_button_area()
- Thread(target=self.update_gigs).start()
+ self.update_thread.start()
self.win.show_all()
+ gtk.gdk.threads_enter()
gtk.main()
+ gtk.gdk.threads_leave()
def show_about(self, widget, data):
""" Show about dialog """
self.win.set_title(self.app_title)
self.location.reset()
self.win.remove(self.pannable_area)
- Thread(target=self.update_gigs).start()
+ self.update_thread.start()
def update_gigs(self):
""" Get gig info """
self.distance,)
gobject.idle_add(self.show_events, events)
gobject.idle_add(self.hide_message)
- thread.exit()
def show_message(self, message):
""" Set window progress indicator and show message """
self.lat = None
self.long = None
self.loop = gobject.MainLoop()
- self.fix_count = 0
self.control = location.GPSDControl.get_default()
self.control.set_properties(preferred_method=location\
if not device:
return
if device.fix:
- # once fix is found and long, lat available set long lat
- if device.fix[1] & location.GPS_DEVICE_LATLONG_SET:
- # wait for a second fix before exiting
- self.fix_count += 1
- if self.fix_count > 1:
+ # once fix is found and horizontal accuracy is 1km
+ if location.GPS_DEVICE_LATLONG_SET:
+ if device.fix[6] <= 100000:
self.lat, self.long = device.fix[4:6]
data.stop()
def on_stop(self, control, data):
""" Stop the location service """
- print "quitting"
data.quit()
def start_location(self, data):
""" Start the location service """
- self.fix_count = 0
data.start()
return False