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 """
def show_details(self, widget, data):
""" Open new window showing gig details """
win = hildon.StackableWindow()
- win.set_title(data['title'])
+ win.set_title(data.title)
win.vbox = gtk.VBox()
win.add(win.vbox)
view.set_wrap_mode(gtk.WRAP_WORD)
buffer = view.get_buffer()
end = buffer.get_end_iter()
- buffer.insert(end, '%s\n' % data['title'])
- buffer.insert(end, 'Artists: %s\n' % data['artists'])
- buffer.insert(end, 'Venue: %s\n' % data['venue'])
- buffer.insert(end, '%s\n' % data['address'])
- buffer.insert(end, 'When: %s\n' % data['date'].strftime('%H:%M %d/%m/%Y'))
+ buffer.insert(end, '%s\n' % data.title)
+ buffer.insert(end, 'Artists: %s\n' % data.artists)
+ buffer.insert(end, 'Venue: %s\n' % data.venue_name)
+ buffer.insert(end, '%s\n' % data.address)
+ buffer.insert(end, 'When: %s\n' % data.start_date.strftime('%H:%M %d/%m/%Y'))
buffer.insert(end, '\n')
scroll.add_with_viewport(view)
for event in events:
button = hildon.Button(gtk.HILDON_SIZE_AUTO_WIDTH | gtk.HILDON_SIZE_FINGER_HEIGHT,
hildon.BUTTON_ARRANGEMENT_VERTICAL)
- button.set_text(event['title'], "distance: %0.02f km" % event['distance'])
+ button.set_text(event.title, "distance: %0.02f km" % event.get_distance_from(self.location.long, self.location.lat))
button.connect("clicked", self.show_details, event)
self.box.pack_start(button)
self.box.show_all()