Ejemplo n.º 1
0
    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()
Ejemplo n.º 2
0
    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
Ejemplo n.º 3
0
 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()
Ejemplo n.º 4
0
 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()
Ejemplo n.º 5
0
    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()
Ejemplo n.º 6
0
    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()
Ejemplo n.º 7
0
    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
Ejemplo n.º 8
0
  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
Ejemplo n.º 9
0
    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)
Ejemplo n.º 10
0
 def testShowAnimation(self):
     hildon.hildon_banner_show_animation(self.parent,
                                           "",
                                           "Dummy text")
Ejemplo n.º 11
0
 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)