def run(self): # create the main window self.win = hildon.Window() self.win.connect("destroy", self.controller.quit) self.win.show_all() wait_anim = hildon.hildon_banner_show_animation(self.win, None, "Loading overview...") # it would seem that on diablo we have to wait for gtk to # get its ass in gear... while gtk.events_pending(): gtk.main_iteration() # Create menu menu = self.create_menu(self.win) # Attach menu to the window self.win.set_menu(menu) # create the treeview --danny self.char_model = models.CharacterListModel(self.controller) treeview = gtk.TreeView(model = self.char_model) treeview.set_grid_lines(gtk.TREE_VIEW_GRID_LINES_HORIZONTAL) treeview.connect('row-activated', self.do_charactersheet) treeview.set_model(self.char_model) self.add_columns_to_treeview(treeview) # add the treeview with scrollbar --danny self.win.add_with_scrollbar(treeview) self.win.show_all() wait_anim.destroy()
def filter_browser_url(self, widget, url): print "Abrindo %s" % url if ( (url.find(self.get_local_url()) == 0) or (url.find("file:") == 0) or (url.find("about:") == 0) or (url.find("javascript:") == 0) ): return False if url.find("http://cmd/") == 0: match = re.compile("http://cmd/(.*?)/(.*)").search(url) if match != None: if match.group(1) == "msg": options = match.group(2).split("/") if (options[0] == "add") and (self.msgs.get(options[1]) == None): self.msgs[options[1]] = hildon.hildon_banner_show_animation(self.app.window, None, " Wait... ") elif options[0] == "remove" and (self.msgs.get(options[1]) != None): self.msgs[options[1]].destroy() del (self.msgs[options[1]]) return True print "launching external browser: " + url osso_rpc = osso.Rpc(osso_context) osso_rpc.rpc_run( "com.nokia.osso_browser", "/com/nokia/osso_browser", "com.nokia.osso_browser", "open_new_window", (url, ()) ) return True
def refresh_clicked(self, button, window): wait_anim = hildon.hildon_banner_show_animation(self.win, None, "Loading overview...") # let gtk catch up... while gtk.events_pending(): gtk.main_iteration() self.skills_model.get_skills() wait_anim.destroy()
def refresh_clicked(self, button, window): wait_anim = hildon.hildon_banner_show_animation(self.win, None, "Refreshing view...") # let gtk catch up... while gtk.events_pending(): gtk.main_iteration() self.char_model.get_characters() wait_anim.destroy()
def download_opml_file(self, url, use_youtube=False): self.treeview.get_selection().unselect_all() self.treeview.set_sensitive(False) self.button_subscribe.set_sensitive(False) self.button_cancel.set_sensitive(False) banner = hildon.hildon_banner_show_animation(self.main_window, \ None, _('Loading podcast list, please wait')) def download_thread_func(): if use_youtube: importer = youtube.find_youtube_channels(url) else: importer = opml.Importer(url) if importer.items: model = OpmlListModel(importer) else: model = None self.show_message(_('Please pick another source.'), _('No podcasts found')) def download_thread_finished(): if banner is not None: banner.destroy() self.treeview.set_model(model) self.treeview.set_sensitive(True) self.button_cancel.set_sensitive(True) self.set_subscribe_button_sensitive() util.idle_add(download_thread_finished) threading.Thread(target=download_thread_func).start()
def download_opml_file(self, url, use_youtube=False): self.treeview.get_selection().unselect_all() self.treeview.set_sensitive(False) self.button_subscribe.set_sensitive(False) self.button_cancel.set_sensitive(False) banner = hildon.hildon_banner_show_animation(self.main_window, \ '', _('Loading podcast list, please wait')) def download_thread_func(): if use_youtube: importer = youtube.find_youtube_channels(url) else: importer = opml.Importer(url) if importer.items: model = OpmlListModel(importer) else: model = None self.show_message(_('Please pick another source.'), _('No podcasts found')) def download_thread_finished(): if banner is not None: banner.destroy() self.treeview.set_model(model) self.treeview.set_sensitive(True) self.button_cancel.set_sensitive(True) self.set_subscribe_button_sensitive() util.idle_add(download_thread_finished) threading.Thread(target=download_thread_func).start()
def _create_progress(self): self.dialog = hildon.hildon_banner_show_animation(self.parent, \ 'qgn_indi_pball_a', self.title) self._update_label() gobject.source_remove(self.source_id) self.source_id = None return False
def finalize_open(self, odf): # Wait process file banner = hildon.hildon_banner_show_animation(self.window, None, " Opening... ") while odf.processed == 0: continue banner.destroy() gobject.idle_add(self.open_url, 'file://%s' % odf.result[0]) self.document['paths'] = odf.result self.close_button = gtk.ImageMenuItem(stock_id="gtk-close") self.close_button.connect("activate", self.close_document) self.menu.insert(self.close_button, 1) self.menu.show_all() self.document['opened'] = self.document['processed'] = 1
def build_window(self): # TODO: this is a really long and ugly function, split it up somehow self.win = hildon.Window() self.win.show_all() wait_anim = hildon.hildon_banner_show_animation(self.win, None, "Loading character sheet...") # let gtk catch up... while gtk.events_pending(): gtk.main_iteration() # Create menu # NOTE: we probably want a window-specific menu for this page, but the # main appmenu works for now menu = self.create_menu(self.win) # Attach menu to the window self.win.set_menu(menu) self.char_id = self.controller.char_name2id(self.char_name) self.sheet = self.controller.get_char_sheet(self.uid, self.char_id) self.win.set_title(self.char_name) hbox = gtk.HBox(False, 0) info_vbox = gtk.VBox(False, 0) portrait = gtk.Image() portrait.set_from_file(self.controller.get_portrait(self.char_name, 256)) portrait.show() hbox.pack_start(portrait, False, False, 10) hbox.pack_start(info_vbox, False, False, 5) vbox = gtk.VBox(False, 0) vbox.pack_start(hbox, False, False, 0) self.fill_info(info_vbox) self.fill_stats(info_vbox) separator = gtk.HSeparator() vbox.pack_start(separator, False, False, 5) separator.show() self.add_label("<big>Skill in Training:</big>", vbox, align="normal") self.display_skill_in_training(vbox) separator = gtk.HSeparator() vbox.pack_start(separator, False, False, 0) separator.show() self.add_label("<big>Skills:</big>", vbox, align="normal") self.skills_model = models.CharacterSkillsModel(self.controller, self.char_id) skills_treeview = gtk.TreeView(model=self.skills_model) self.add_columns_to_skills_view(skills_treeview) vbox.pack_start(skills_treeview, False, False, 0) self.win.add_with_scrollbar(vbox) self.win.show_all() wait_anim.destroy() # diablo doesnt have a glib module, but gobject module seems to have # the same functions... self.timer = gobject.timeout_add(self.UPDATE_INTERVAL, self.update_live_sp) self.win.connect("destroy", self.back)
def testShowAnimation(self): hildon.hildon_banner_show_animation(self.parent, "", "Dummy text")
def disable(self): self._ban = hildon.hildon_banner_show_animation(self, None, 'Updating') self._ban.show() self._list.set_sensitive(False) self._info.set_sensitive(False)