def data(self, index, role=Qt.DisplayRole): if not index.isValid(): return QVariant() if index.row() >= len(self.songs) or index.row() < 0: return QVariant() song = self.songs[index.row()] if role in (Qt.DisplayRole, Qt.ToolTipRole): if index.column() == 0: return self._source_name_map.get(song.source, '').strip() elif index.column() == 1: return song.title elif index.column() == 2: m, s = parse_ms(song.duration) duration = QTime(0, m, s) return duration.toString('mm:ss') elif index.column() == 3: return song.artists_name elif index.column() == 4: return song.album_name elif role == Qt.TextAlignmentRole: if index.column() == 0: return Qt.AlignCenter | Qt.AlignBaseline elif role == Qt.EditRole: return 1 elif role == Qt.UserRole: return song return QVariant()
def data(self, index, role=Qt.DisplayRole): if not index.isValid(): return QVariant() if index.row() >= len(self.songs) or index.row() < 0: return QVariant() song = self.songs[index.row()] if role == Qt.DisplayRole: if index.column() == 0: return '' elif index.column() == 1: return song.title elif index.column() == 2: m, s = parse_ms(song.duration) duration = QTime(0, m, s) return duration.toString('mm:ss') elif index.column() == 3: return song.artists_name elif index.column() == 4: return song.album_name elif role == Qt.EditRole: return 1 elif role == Qt.UserRole: return song return QVariant()
def add_item(self, song_model): music_item = QTableWidgetItem(song_model.title) album_item = QTableWidgetItem(song_model.album_name) artist_item = QTableWidgetItem(song_model.artists_name) m, s = parse_ms(song_model.length) length_item = QTableWidgetItem(str(m) + ':' + str(s)) row = self.rowCount() self.setRowCount(row + 1) self.setItem(row, 1, music_item) self.setItem(row, 2, artist_item) self.setItem(row, 3, album_item) self.setItem(row, 4, length_item) self.songs.append(song_model)
def add_item(self, song_model): music_item = QTableWidgetItem(song_model.title) album_item = QTableWidgetItem(song_model.album_name) artist_item = QTableWidgetItem(song_model.artists_name) m, s = parse_ms(song_model.length) duration = QTime(0, m, s) length_item = QTableWidgetItem(duration.toString()) row = self.rowCount() self.setRowCount(row + 1) self.setItem(row, 1, music_item) self.setItem(row, 2, artist_item) self.setItem(row, 3, album_item) self.setItem(row, 4, length_item) self.songs.append(song_model)
def add_item(self, song_model): music_item = QTableWidgetItem(song_model.title) album_item = QTableWidgetItem(song_model.album_name) artist_item = QTableWidgetItem(song_model.artists_name) m, s = parse_ms(song_model.length) duration = QTime(0, m, s) length_item = QTableWidgetItem(duration.toString('mm:ss')) row = self.rowCount() self.setRowCount(row + 1) self.setItem(row, 1, music_item) self.setItem(row, 2, artist_item) self.setItem(row, 3, album_item) self.setItem(row, 4, length_item) cell_widget = _TagCellWidget(self._app) if NSongModel.local_exists(song_model): cell_widget.set_download_tag() self.setCellWidget(row, 5, cell_widget) self.songs.append(song_model)