Track.hpp 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #pragma once
  2. #include <QObject>
  3. #include <QMediaContent>
  4. struct Track : public QObject
  5. {
  6. Q_OBJECT
  7. public:
  8. virtual ~Track();
  9. explicit Track(QObject *parent = nullptr);
  10. Q_PROPERTY(QString idInt READ idInt NOTIFY idIntChanged)
  11. Q_PROPERTY(QString title READ title NOTIFY titleChanged)
  12. Q_PROPERTY(QString artistsStr READ artistsStr NOTIFY artistsStrChanged)
  13. Q_PROPERTY(QString extra READ extra NOTIFY extraChanged)
  14. Q_PROPERTY(QString cover READ cover NOTIFY coverChanged)
  15. Q_PROPERTY(QMediaContent media READ media NOTIFY mediaChanged)
  16. Q_PROPERTY(qint64 duration READ duration NOTIFY durationChanged)
  17. Q_PROPERTY(bool liked READ liked NOTIFY likedChanged)
  18. virtual QString idInt();
  19. virtual QString title();
  20. virtual QString artistsStr();
  21. virtual QString extra();
  22. virtual QString cover();
  23. virtual QMediaContent media();
  24. virtual qint64 duration();
  25. virtual bool liked();
  26. public slots:
  27. virtual void setLiked(bool liked);
  28. signals:
  29. void idIntChanged(QString idInt);
  30. void titleChanged(QString title);
  31. void artistsStrChanged(QString author);
  32. void extraChanged(QString extra);
  33. void coverChanged(QString cover);
  34. void mediaChanged(QMediaContent media);
  35. void durationChanged(qint64 duration);
  36. void likedChanged(bool liked);
  37. void coverAborted();
  38. void mediaAborted();
  39. };