コード例 #1
0
ファイル: qtmain.py プロジェクト: renemilk/panucci
 def set_progress_callback(self, time_elapsed, total_time):
     """ times must be in nanoseconds """
     time_string = "%s / %s" % ( util.convert_ns(time_elapsed),
         util.convert_ns(total_time) )
     self.progress.setFormat( time_string )
     fraction = float(time_elapsed) / float(total_time) if total_time else 0
     self.progress.setValue( int(fraction*100) )
コード例 #2
0
ファイル: gtkmain.py プロジェクト: shreeja0/panucci
 def set_progress_callback(self, time_elapsed, total_time):
     """ times must be in nanoseconds """
     time_string = "%s / %s" % (util.convert_ns(time_elapsed),
                                util.convert_ns(total_time))
     self.progress.set_text(time_string)
     fraction = float(time_elapsed) / float(total_time) if total_time else 0
     self.progress.set_fraction(fraction)
コード例 #3
0
    def fill(self, playlist_item):
        metadata = playlist_item.metadata

        label = QtGui.QLabel("<b>" + _('Title:') + "</b>")
        label.setAlignment(QtCore.Qt.AlignRight)
        self.grid.addWidget(label, 0, 0,
                            QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
        label = QtGui.QLabel(metadata["title"])
        self.grid.addWidget(label, 0, 1)

        label = QtGui.QLabel("<b>" + _('Length:') + "</b>")
        label.setAlignment(QtCore.Qt.AlignRight)
        self.grid.addWidget(label, 1, 0,
                            QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
        label = QtGui.QLabel(util.convert_ns(metadata["length"]))
        self.grid.addWidget(label, 1, 1)

        label = QtGui.QLabel("<b>" + _('Artist:') + "</b>")
        label.setAlignment(QtCore.Qt.AlignRight)
        self.grid.addWidget(label, 2, 0,
                            QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
        label = QtGui.QLabel(metadata["artist"])
        self.grid.addWidget(label, 2, 1)

        label = QtGui.QLabel("<b>" + _('Album:') + "</b>")
        label.setAlignment(QtCore.Qt.AlignRight)
        self.grid.addWidget(label, 3, 0,
                            QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
        label = QtGui.QLabel(metadata["album"])
        self.grid.addWidget(label, 3, 1)
コード例 #4
0
ファイル: qtplaylist.py プロジェクト: achafamo/panucci
    def fill(self, playlist_item):
        metadata = playlist_item.metadata
        
        label = QtGui.QLabel("<b>" + _('Title:') + "</b>")
        label.setAlignment(QtCore.Qt.AlignRight)
        self.grid.addWidget(label, 0, 0, QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
        label = QtGui.QLabel(metadata["title"])
        self.grid.addWidget(label, 0, 1)

        label = QtGui.QLabel("<b>" + _('Length:') + "</b>")
        label.setAlignment(QtCore.Qt.AlignRight)
        self.grid.addWidget(label, 1, 0, QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
        label = QtGui.QLabel(util.convert_ns(metadata["length"]))
        self.grid.addWidget(label, 1, 1)
        
        label = QtGui.QLabel("<b>" + _('Artist:') + "</b>")
        label.setAlignment(QtCore.Qt.AlignRight)
        self.grid.addWidget(label, 2, 0, QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
        label = QtGui.QLabel(metadata["artist"])
        self.grid.addWidget(label, 2, 1)
        
        label = QtGui.QLabel("<b>" + _('Album:') + "</b>")
        label.setAlignment(QtCore.Qt.AlignRight)
        self.grid.addWidget(label, 3, 0, QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
        label = QtGui.QLabel(metadata["album"])
        self.grid.addWidget(label, 3, 1)
コード例 #5
0
ファイル: qmlmain.py プロジェクト: gpodder/panucci
    def get_playlist_items(self):
        self.playlist_items = []
        for item, data in self.playlist.get_playlist_item_ids():
            self.playlist_items.append(PlaylistItem(item, data.get('title'), "", ""))

            for bid, bname, bpos in self.playlist.get_bookmarks_from_item_id( item ):
                self.playlist_items.append(PlaylistItem(item, bname, bid, util.convert_ns(bpos)))

        return self.playlist_items
コード例 #6
0
ファイル: qmlmain.py プロジェクト: shreeja0/panucci
 def playlist_item_info_callback(self, item_id):
     playlist_item = self.playlist.get_item_by_id(item_id)
     metadata = playlist_item.metadata
     metadata["length"] = util.convert_ns(metadata["length"])
     metadata["path"] = playlist_item.filepath.decode("utf-8")
     for i in ["title", "artist", "album"]:
         if metadata[i]:
             metadata[i] = metadata[i].decode("utf-8")
         else:
             metadata[i] = " "
     self.view.rootObject().property("root").openPlaylistItemInfo(metadata)
コード例 #7
0
ファイル: playlist.py プロジェクト: shreeja0/panucci
    def get_formatted_position(self, pos=None):
        """ Gets the current position and converts it to a human-readable str.

            Returns: (bookmark lable string, position in nanoseconds)
        """

        if pos is None:
            (pos, dur) = self.get_position_duration()

        text = util.convert_ns(pos)
        return (text, pos)
コード例 #8
0
ファイル: player.py プロジェクト: renemilk/panucci
    def get_formatted_position(self, pos=None):
        """ Gets the current position and converts it to a human-readable str.

            Returns: (bookmark lable string, position in nanoseconds)
        """

        if pos is None:
            (pos, dur) = self.get_position_duration()

        text = util.convert_ns(pos)
        return (text, pos)
コード例 #9
0
ファイル: qmlmain.py プロジェクト: gpodder/panucci
 def playlist_item_info_callback(self, item_id):
     playlist_item = self.playlist.get_item_by_id(item_id)
     metadata = playlist_item.metadata
     metadata["length"] = util.convert_ns(metadata["length"])
     metadata["path"] = playlist_item.filepath.decode("utf-8")
     for i in ["title", "artist", "album"]:
         if metadata[i]:
             metadata[i] = metadata[i].decode("utf-8")
         else:
             metadata[i] = " "
     self.view.rootObject().property("root").openPlaylistItemInfo(metadata)
コード例 #10
0
ファイル: qmlmain.py プロジェクト: shreeja0/panucci
    def get_playlist_items(self):
        self.playlist_items = []
        for item, data in self.playlist.get_playlist_item_ids():
            self.playlist_items.append(
                PlaylistItem(item, data.get('title'), "", ""))

            for bid, bname, bpos in self.playlist.get_bookmarks_from_item_id(
                    item):
                self.playlist_items.append(
                    PlaylistItem(item, bname, bid, util.convert_ns(bpos)))

        return self.playlist_items
コード例 #11
0
ファイル: qtplaylist.py プロジェクト: renefritze/panucci
    def update_model(self):
        #path_info = self.treeview.get_path_at_pos(0,0)
        #path = path_info[0] if path_info is not None else None
        self.clear_model()

        for item, data in self.playlist.get_playlist_item_ids():
            parent = QtGui.QStandardItem(data.get('title').decode('utf-8'))
            self.__model.appendRow((parent, None, QtGui.QStandardItem(item)))

            for bid, bname, bpos in self.playlist.get_bookmarks_from_item_id(
                    item):
                parent.appendRow((QtGui.QStandardItem(bname.decode('utf-8')),
                                  QtGui.QStandardItem(util.convert_ns(bpos)),
                                  QtGui.QStandardItem(bid)))

        self.tree.expandAll()
コード例 #12
0
ファイル: qml2main.py プロジェクト: achafamo/panucci
 def playlist_item_info_callback(self, item_id):
     playlist_item = self.playlist.get_item_by_id(item_id)
     metadata = playlist_item.metadata
     metadata["length"] = util.convert_ns(metadata["length"])
     metadata["path"] = playlist_item.filepath.decode("utf-8")
     for i in ["title", "artist", "album"]:
         if metadata[i]:
             metadata[i] = metadata[i].decode("utf-8")
         else:
             metadata[i] = " "
     if metadata["image"]:
         self.image = metadata["image"]
         image = "image://cover/" + os.urandom(10)
     else:
         image = "artwork/panucci_86x86.png"
     self.view.rootObject().property("root").openPlaylistItemInfo(item_id, metadata, image)
コード例 #13
0
ファイル: gtkplaylist.py プロジェクト: achafamo/panucci
    def update_model(self):
        path_info = self.treeview.get_path_at_pos(0,0)
        path = path_info[0] if path_info is not None else None

        self.__model.clear()

        # build the tree
        for item, data in self.playlist.get_playlist_item_ids():
            parent = self.__model.append(None, (item, data.get('title'), None))

            for bid, bname, bpos in self.playlist.get_bookmarks_from_item_id( item ):
                nice_bpos = util.convert_ns(bpos)
                self.__model.append( parent, (bid, bname, nice_bpos) )

        self.treeview.expand_all()

        if path is not None:
            self.treeview.scroll_to_cell(path)
コード例 #14
0
ファイル: gtkplaylist.py プロジェクト: shreeja0/panucci
    def update_model(self):
        path_info = self.treeview.get_path_at_pos(0,0)
        path = path_info[0] if path_info is not None else None

        self.__model.clear()

        # build the tree
        for item, data in self.playlist.get_playlist_item_ids():
            parent = self.__model.append(None, (item, data.get('title'), None))

            for bid, bname, bpos in self.playlist.get_bookmarks_from_item_id( item ):
                nice_bpos = util.convert_ns(bpos)
                self.__model.append( parent, (bid, bname, nice_bpos) )

        self.treeview.expand_all()

        if path is not None:
            self.treeview.scroll_to_cell(path)
コード例 #15
0
ファイル: qmlmain.py プロジェクト: gpodder/panucci
 def set_progress_callback(self, time_elapsed, total_time):
     self.time_str = "%s / %s" %(util.convert_ns(time_elapsed), util.convert_ns(total_time))
     self.progress_fraction = float(time_elapsed) / float(total_time) if total_time else 0
     self.on_set_progress.emit()
コード例 #16
0
ファイル: gtkplaylist.py プロジェクト: achafamo/panucci
    def fill(self, playlist_item):
        t = gtk.Table(10, 2)
        self.vbox.pack_start(t, expand=False)

        metadata = playlist_item.metadata

        t.attach(gtk.Label(_('Custom title:')), 0, 1, 0, 1)
        t.attach(gtk.Label(_('ID:')), 0, 1, 1, 2)
        t.attach(gtk.Label(_('Playlist ID:')), 0, 1, 2, 3)
        t.attach(gtk.Label(_('Filepath:')), 0, 1, 3, 4)

        row_num = 4
        for key in metadata:
            if metadata[key] is not None:
                t.attach( gtk.Label(key.capitalize()+':'),
                          0, 1, row_num, row_num+1 )
                row_num += 1

        t.foreach(lambda x, y: x.set_alignment(1, 0.5), None)
        t.foreach(lambda x, y: x.set_markup('<b>%s</b>' % x.get_label()), None)

        t.attach(gtk.Label(playlist_item.title or _('<not modified>')),1,2,0,1)
        t.attach(gtk.Label(str(playlist_item)), 1, 2, 1, 2)
        t.attach(gtk.Label(playlist_item.playlist_id), 1, 2, 2, 3)
        t.attach(gtk.Label(playlist_item.filepath), 1, 2, 3, 4)

        row_num = 4
        for key in metadata:
            value = metadata[key]
            if key == 'length':
                value = util.convert_ns(value)
            if metadata[key] is not None:
                t.attach( gtk.Label( str(value) or _('<not set>')),
                          1, 2, row_num, row_num+1)
                row_num += 1

        t.foreach(lambda x, y: x.get_alignment() == (0.5, 0.5) and \
                               x.set_alignment(0, 0.5), None)

        t.set_border_width(8)
        t.set_row_spacings(4)
        t.set_col_spacings(8)

        l = gtk.ListStore(str, str)
        t = gtk.TreeView(l)
        cr = gtk.CellRendererText()
        cr.set_property('ellipsize', pango.ELLIPSIZE_END)
        c = gtk.TreeViewColumn(_('Title'), cr, text=0)
        c.set_expand(True)
        t.append_column(c)
        c = gtk.TreeViewColumn(_('Time'), gtk.CellRendererText(), text=1)
        t.append_column(c)
        playlist_item.load_bookmarks()
        for bookmark in playlist_item.bookmarks:
            l.append([bookmark.bookmark_name, \
                    util.convert_ns(bookmark.seek_position)])

        sw = gtk.ScrolledWindow()
        sw.set_shadow_type(gtk.SHADOW_IN)
        sw.add(t)
        sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        e = gtk.Expander(_('Bookmarks'))
        e.add(sw)
        if not platform.MAEMO:
            self.vbox.pack_start(e)
コード例 #17
0
ファイル: gtkplaylist.py プロジェクト: shreeja0/panucci
    def fill(self, playlist_item):
        t = gtk.Table(10, 2)
        self.vbox.pack_start(t, expand=False)

        metadata = playlist_item.metadata

        t.attach(gtk.Label(_('Custom title:')), 0, 1, 0, 1)
        t.attach(gtk.Label(_('ID:')), 0, 1, 1, 2)
        t.attach(gtk.Label(_('Playlist ID:')), 0, 1, 2, 3)
        t.attach(gtk.Label(_('Filepath:')), 0, 1, 3, 4)

        row_num = 4
        for key in metadata:
            if metadata[key] is not None:
                t.attach( gtk.Label(key.capitalize()+':'),
                          0, 1, row_num, row_num+1 )
                row_num += 1

        t.foreach(lambda x, y: x.set_alignment(1, 0.5), None)
        t.foreach(lambda x, y: x.set_markup('<b>%s</b>' % x.get_label()), None)

        t.attach(gtk.Label(playlist_item.title or _('<not modified>')),1,2,0,1)
        t.attach(gtk.Label(str(playlist_item)), 1, 2, 1, 2)
        t.attach(gtk.Label(playlist_item.playlist_id), 1, 2, 2, 3)
        t.attach(gtk.Label(playlist_item.filepath), 1, 2, 3, 4)

        row_num = 4
        for key in metadata:
            value = metadata[key]
            if key == 'length':
                value = util.convert_ns(value)
            if metadata[key] is not None:
                t.attach( gtk.Label( str(value) or _('<not set>')),
                          1, 2, row_num, row_num+1)
                row_num += 1

        t.foreach(lambda x, y: x.get_alignment() == (0.5, 0.5) and \
                               x.set_alignment(0, 0.5), None)

        t.set_border_width(8)
        t.set_row_spacings(4)
        t.set_col_spacings(8)

        l = gtk.ListStore(str, str)
        t = gtk.TreeView(l)
        cr = gtk.CellRendererText()
        cr.set_property('ellipsize', pango.ELLIPSIZE_END)
        c = gtk.TreeViewColumn(_('Title'), cr, text=0)
        c.set_expand(True)
        t.append_column(c)
        c = gtk.TreeViewColumn(_('Time'), gtk.CellRendererText(), text=1)
        t.append_column(c)
        playlist_item.load_bookmarks()
        for bookmark in playlist_item.bookmarks:
            l.append([bookmark.bookmark_name, \
                    util.convert_ns(bookmark.seek_position)])

        sw = gtk.ScrolledWindow()
        sw.set_shadow_type(gtk.SHADOW_IN)
        sw.add(t)
        sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        e = gtk.Expander(_('Bookmarks'))
        e.add(sw)
        if not platform.MAEMO:
            self.vbox.pack_start(e)
コード例 #18
0
ファイル: qmlmain.py プロジェクト: shreeja0/panucci
 def set_progress_callback(self, time_elapsed, total_time):
     self.time_str = "%s / %s" % (util.convert_ns(time_elapsed),
                                  util.convert_ns(total_time))
     self.progress_fraction = float(time_elapsed) / float(
         total_time) if total_time else 0
     self.on_set_progress.emit()
コード例 #19
0
ファイル: qtplaylist.py プロジェクト: achafamo/panucci
    def update_model(self):
        #path_info = self.treeview.get_path_at_pos(0,0)
        #path = path_info[0] if path_info is not None else None
        self.clear_model()

        for item, data in self.playlist.get_playlist_item_ids():
            parent = QtGui.QStandardItem(data.get('title').decode('utf-8'))
            self.__model.appendRow((parent, QtGui.QStandardItem(), QtGui.QStandardItem(item)))

            for bid, bname, bpos in self.playlist.get_bookmarks_from_item_id( item ):
                parent.appendRow((QtGui.QStandardItem(bname.decode('utf-8')), QtGui.QStandardItem(util.convert_ns(bpos)),
                                  QtGui.QStandardItem(bid)))

        self.tree.expandAll()