File indexing completed on 2024-05-19 04:48:28
0001 #pragma once 0002 0003 #include <QObject> 0004 #include <QVariantMap> 0005 #include <QString> 0006 0007 class TrackInfo : public QObject 0008 { 0009 Q_OBJECT 0010 Q_PROPERTY(QString albumWiki READ albumWiki NOTIFY albumWikiChanged) 0011 Q_PROPERTY(QString artistWiki READ artistWiki NOTIFY artistWikiChanged) 0012 Q_PROPERTY(QString trackWiki READ trackWiki NOTIFY trackWikiChanged) 0013 Q_PROPERTY(QString lyrics READ lyrics NOTIFY lyricsChanged) 0014 0015 Q_PROPERTY(QVariantMap track READ track WRITE setTrack NOTIFY trackChanged) 0016 0017 public: 0018 explicit TrackInfo(QObject *parent = nullptr); 0019 0020 QString albumWiki() const; 0021 0022 QString artistWiki() const; 0023 0024 QString trackWiki() const; 0025 0026 QString lyrics() const; 0027 0028 QVariantMap track() const; 0029 0030 public Q_SLOTS: 0031 void setTrack(QVariantMap track); 0032 0033 private: 0034 QString m_albumWiki; 0035 0036 QString m_artistWiki; 0037 0038 QString m_trackWiki; 0039 0040 QString m_lyrics; 0041 0042 QVariantMap m_track; 0043 0044 void getInfo(); 0045 0046 void getAlbumInfo(); 0047 void getArtistInfo(); 0048 void getTrackInfo(); 0049 0050 QString m_artist; 0051 QString m_album; 0052 QString m_title; 0053 0054 Q_SIGNALS: 0055 void albumWikiChanged(QString albumWiki); 0056 void artistWikiChanged(QString artistWiki); 0057 void trackWikiChanged(QString trackWiki); 0058 void lyricsChanged(QString lyrics); 0059 void trackChanged(QVariantMap track); 0060 };