35 //class declaration |
36 //class declaration |
36 class MPDATA_EXPORT MpSongData : public QObject |
37 class MPDATA_EXPORT MpSongData : public QObject |
37 { |
38 { |
38 Q_OBJECT |
39 Q_OBJECT |
39 |
40 |
|
41 friend class MpSongDataPrivate; |
|
42 |
40 public: |
43 public: |
41 explicit MpSongData( QObject *parent=0 ); |
44 explicit MpSongData( QObject *parent=0 ); |
42 virtual ~MpSongData(); |
45 virtual ~MpSongData(); |
43 |
|
44 bool setTitle( const QString &title ); |
|
45 bool setAlbum( const QString &album ); |
|
46 bool setArtist( const QString &artist ); |
|
47 bool setComment( const QString &comment ); |
|
48 void setAlbumArtUri( const QString &albumArtUri ); |
|
49 bool setYear( int date ); |
|
50 bool setGenre( const QString &genre ); |
|
51 bool setComposer( const QString &compoer ); |
|
52 bool setAlbumTrack( const QString &albumtrack ); |
|
53 void setLink( const QString &link ); |
|
54 bool setFileName( const QString &fileName ); |
|
55 bool setMimeType( const QString &mimeType ); |
|
56 bool setDuration( int duration ); |
|
57 bool setBitRate( int bitRate); |
|
58 bool setSampleRate( int sampleRate ); |
|
59 bool setSize( int size ); |
|
60 bool setModified( const QString &modified ); |
|
61 bool setCopyright( const QString ©right ); |
|
62 bool setMusicURL( const QString &musicURL ); |
|
63 bool setDrmProtected( bool drmProtected ); |
|
64 |
|
65 // inform details view when basic information is ready to accelerate UI update |
|
66 void commitPlaybackInfo(); |
|
67 // inform details view when details information is ready |
|
68 void commitSongDetailInfo(); |
|
69 void removeAlbumArtFile() const; //TODO: Remove when base64 starts to work |
|
70 |
|
71 public slots: |
|
72 void thumbnailReady( const QPixmap& pixmap, void *data, int id, int error ); |
|
73 |
|
74 int reservedLength() const { return mLink.length() + mTitle.length() + mArtist.length(); } |
|
75 |
46 |
76 QString title() const; |
47 QString title() const; |
77 QString album() const; |
48 QString album() const; |
78 QString artist() const; |
49 QString artist() const; |
79 QString comment() const; |
50 QString comment() const; |
81 QString year() const; |
52 QString year() const; |
82 QString genre() const; |
53 QString genre() const; |
83 QString composer() const; |
54 QString composer() const; |
84 QString albumTrack() const; |
55 QString albumTrack() const; |
85 QString link() const; |
56 QString link() const; |
86 |
|
87 QString fileName() const; |
57 QString fileName() const; |
88 QString mimeType() const; |
58 QString mimeType() const; |
89 QString duration() const; |
59 QString duration() const; |
90 QString bitRate() const; |
60 QString bitRate() const; |
91 QString sampleRate() const; |
61 QString sampleRate() const; |
92 QString size() const; |
62 QString size() const; |
93 QString modified() const; |
63 QString modified() const; |
94 QString copyright() const; |
64 QString copyright() const; |
95 QString musicURL() const; |
65 QString musicURL() const; |
96 bool isDrmProtected() const; |
66 bool isDrmProtected() const; |
97 |
67 |
98 QString albumArtBase64() const; |
68 QString albumArtBase64() const; |
|
69 void removeAlbumArtFile() const; //TODO: Remove when base64 starts to work |
|
70 |
|
71 void setLink( const QString &link ); |
|
72 void setMpxMedia( const CMPXMedia& aMedia ); |
99 |
73 |
100 signals: |
74 signals: |
|
75 |
101 void albumArtReady(); |
76 void albumArtReady(); |
102 void playbackInfoChanged(); |
77 void playbackInfoChanged(); |
103 void songDetailInfoChanged(); |
78 void songDetailInfoChanged(); |
|
79 |
|
80 public slots: |
|
81 |
|
82 int reservedLength() const; |
|
83 void thumbnailReady( QPixmap pixmap, void *data, int id, int error ); |
104 |
84 |
105 private: |
85 private: |
106 QString mTitle; |
86 |
107 QString mAlbum; |
|
108 QString mArtist; |
|
109 QString mComment; |
|
110 QString mComposer; |
|
111 QString mGenre; |
|
112 QString mYear; |
|
113 QString mAlbumTrack; |
|
114 HbIcon *mAlbumArt; |
|
115 ThumbnailManager *mThumbnailManager; //owned |
|
116 TInt mReqId; |
|
117 QString currentAAUri; |
|
118 HbIcon *mDefaultAlbumArt; |
|
119 QString mLink; |
|
120 QString mFileName; |
|
121 QString mMimeType; |
|
122 QString mDuration; |
|
123 QString mBitRate; |
|
124 QString mSampleRate; |
|
125 QString mSize; |
|
126 QString mModified; |
|
127 QString mCopyright; |
|
128 QString mMusicURL; |
|
129 QString mTempAlbumArt; //TODO: Remove when base64 starts to work |
|
130 bool mDrmProtected; |
|
131 |
|
132 Q_DISABLE_COPY(MpSongData) |
87 Q_DISABLE_COPY(MpSongData) |
|
88 MpSongDataPrivate *d_ptr; |
|
89 ThumbnailManager *mThumbnailManager; // Owned |
|
90 |
133 }; |
91 }; |
134 |
92 |
135 #endif // MPSONGDATA_H |
93 #endif // MPSONGDATA_H |
|
94 |