playlist_table.py 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. from PyQt5.QtWidgets import QTableWidget, QTableWidgetItem
  2. from core.repositories import TrackRepository
  3. class PlaylistTable(QTableWidget):
  4. def __init__(self, parent):
  5. super(QTableWidget, self).__init__(parent)
  6. self.playlist = None
  7. self.count = -1
  8. def populate(self, playlist):
  9. self.playlist = playlist
  10. track_repo = TrackRepository()
  11. self.clear()
  12. self.hideColumn(0)
  13. tracks = track_repo.get_by_session_id(playlist.id)
  14. if not tracks:
  15. self.insertRow(0)
  16. self.setItem(0, 1, QTableWidgetItem("(la liste est vide, ajoutez y vos morceaux)"))
  17. return
  18. i = 0
  19. for track in tracks:
  20. self.insertRow(i)
  21. item = QTableWidgetItem()
  22. item.setData(0, track.id)
  23. self.setItem(i, 0, item)
  24. self.setItem(i, 1, QTableWidgetItem(track.title))
  25. i += 1
  26. self.count = i
  27. def clear(self):
  28. while self.rowCount():
  29. self.removeRow(0)
  30. super().clear()