playlist_table.py 895 B

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