72 |
72 |
73 /*! |
73 /*! |
74 Constructs a new MpPlaybackData. |
74 Constructs a new MpPlaybackData. |
75 */ |
75 */ |
76 MpPlaybackData::MpPlaybackData( QObject *parent ) |
76 MpPlaybackData::MpPlaybackData( QObject *parent ) |
77 : QObject(parent), |
77 : QObject( parent ), |
78 mThumbnailManager(0), |
78 mThumbnailManager( new ThumbnailManager( this ) ), |
79 mReqId(KUndefined), |
79 mReqId( KUndefined ), |
80 mDuration(0), |
80 mDuration(0), |
81 mPosition(0), |
81 mPosition(0), |
82 mAlbumArt(), |
82 mAlbumId(0), |
83 mPlaybackState(Stopped) |
83 mId(0), |
|
84 mAlbumArt( "qtg_large_music_album" ), |
|
85 mDefaultAlbumArt( "qtg_large_music_album" ), |
|
86 mPlaybackState( NotPlaying ), |
|
87 mRealAudio( false ) |
84 { |
88 { |
85 TX_ENTRY |
89 TX_ENTRY |
86 mThumbnailManager = new ThumbnailManager(this); |
90 mThumbnailManager->setQualityPreference( ThumbnailManager::OptimizeForQuality ); |
87 mThumbnailManager->setQualityPreference(ThumbnailManager::OptimizeForQuality); |
91 mThumbnailManager->setThumbnailSize( ThumbnailManager::ThumbnailLarge ); |
88 mThumbnailManager->setThumbnailSize(ThumbnailManager::ThumbnailLarge); |
92 connect( mThumbnailManager, SIGNAL( thumbnailReady(QPixmap, void *, int, int ) ), |
89 connect( mThumbnailManager, SIGNAL(thumbnailReady(QPixmap, void *, int, int)), |
93 this, SLOT(thumbnailReady( QPixmap, void *, int, int ) ) ); |
90 this, SLOT(thumbnailReady(QPixmap, void *, int, int)) ); |
|
91 |
|
92 //TODO: Change to final resource when available |
|
93 mDefaultAlbumArt = new HbIcon("qtg_large_music"); |
|
94 TX_EXIT |
94 TX_EXIT |
95 } |
95 } |
96 |
96 |
97 /*! |
97 /*! |
98 Constructs a new MpPlaybackData. |
98 Constructs a new MpPlaybackData. |
173 */ |
173 */ |
174 bool MpPlaybackData::setArtist( const QString& artist ) |
174 bool MpPlaybackData::setArtist( const QString& artist ) |
175 { |
175 { |
176 TX_ENTRY_ARGS( "artist = " << artist ) |
176 TX_ENTRY_ARGS( "artist = " << artist ) |
177 bool change = false; |
177 bool change = false; |
178 if ( artist != mArtist ) { |
178 // data is different or mArtist was not set befor or it was reset. |
179 change = true; |
179 // When artist is empty and mArtist is empty mArtist should be unknown text. |
180 mArtist = artist; |
180 if ( artist != mArtist || mArtist.isNull()) { |
|
181 change = true; |
|
182 if ( artist.isEmpty() ){ |
|
183 mArtist = hbTrId( "txt_mus_other_unknown3" ); |
|
184 } |
|
185 else { |
|
186 mArtist = artist; |
|
187 } |
181 } |
188 } |
182 TX_EXIT |
189 TX_EXIT |
183 return change; |
190 return change; |
184 } |
191 } |
185 |
192 |
197 */ |
204 */ |
198 bool MpPlaybackData::setAlbum( const QString& album ) |
205 bool MpPlaybackData::setAlbum( const QString& album ) |
199 { |
206 { |
200 TX_ENTRY_ARGS( "album = " << album ) |
207 TX_ENTRY_ARGS( "album = " << album ) |
201 bool change = false; |
208 bool change = false; |
202 if ( album != mAlbum ) { |
209 // data is different or mAlbum was not set befor or it was reset. |
203 change = true; |
210 // when album is empty and mAlbum is empty mAlbum should be unknown text. |
204 mAlbum = album; |
211 if ( album != mAlbum || mAlbum.isNull() ) { |
|
212 change = true; |
|
213 if ( album.isEmpty() ){ |
|
214 mAlbum = hbTrId( "txt_mus_other_unknown4" ); |
|
215 } |
|
216 else{ |
|
217 mAlbum = album; |
|
218 } |
205 } |
219 } |
206 TX_EXIT |
220 TX_EXIT |
207 return change; |
221 return change; |
208 } |
222 } |
209 |
223 |
273 Returns the song album art on \a icon. |
287 Returns the song album art on \a icon. |
274 */ |
288 */ |
275 void MpPlaybackData::albumArt( HbIcon& icon ) const |
289 void MpPlaybackData::albumArt( HbIcon& icon ) const |
276 { |
290 { |
277 TX_ENTRY |
291 TX_ENTRY |
278 if ( mAlbumArt->isNull() ) { |
292 icon = mAlbumArt ; |
279 icon = HbIcon(); |
293 TX_EXIT |
280 } |
294 } |
281 else { |
295 |
282 icon = *mAlbumArt ; |
296 /*! |
283 } |
297 Sets the song's album \a id, returns true if the value is new. |
284 TX_EXIT |
298 */ |
|
299 bool MpPlaybackData::setAlbumId( int id ) |
|
300 { |
|
301 bool change = false; |
|
302 if (mAlbumId != id) { |
|
303 mAlbumId = id; |
|
304 change = true; |
|
305 } |
|
306 return change; |
|
307 } |
|
308 |
|
309 /*! |
|
310 Returns the id of the album to which the song belongs. |
|
311 */ |
|
312 int MpPlaybackData::albumId() |
|
313 { |
|
314 return mAlbumId; |
|
315 } |
|
316 |
|
317 /*! |
|
318 Sets the song's \a id, returns true if the value is new. |
|
319 */ |
|
320 bool MpPlaybackData::setId( int id ) |
|
321 { |
|
322 bool change = false; |
|
323 if (mId != id) { |
|
324 mId = id; |
|
325 change = true; |
|
326 } |
|
327 return change; |
|
328 } |
|
329 |
|
330 /*! |
|
331 Returns the id the song. |
|
332 */ |
|
333 int MpPlaybackData::id() |
|
334 { |
|
335 return mId; |
|
336 } |
|
337 /*! |
|
338 Set Real Audio \a mode. |
|
339 */ |
|
340 bool MpPlaybackData::setRealAudio( bool mode ) |
|
341 { |
|
342 TX_ENTRY |
|
343 bool change = false; |
|
344 if (mRealAudio != mode) { |
|
345 mRealAudio = mode; |
|
346 change = true; |
|
347 } |
|
348 TX_EXIT |
|
349 return change; |
|
350 } |
|
351 |
|
352 /*! |
|
353 Returns the mode of Real Audio. |
|
354 */ |
|
355 bool MpPlaybackData::realAudio() |
|
356 { |
|
357 return mRealAudio; |
285 } |
358 } |
286 |
359 |
287 /*! |
360 /*! |
288 Sets the playback \a state. |
361 Sets the playback \a state. |
289 */ |
362 */ |
312 void MpPlaybackData::commitPlaybackInfo() |
385 void MpPlaybackData::commitPlaybackInfo() |
313 { |
386 { |
314 TX_ENTRY |
387 TX_ENTRY |
315 emit playbackInfoChanged(); |
388 emit playbackInfoChanged(); |
316 TX_EXIT |
389 TX_EXIT |
|
390 } |
|
391 |
|
392 /*! |
|
393 Resets the data, currently called when source is removed. |
|
394 */ |
|
395 void MpPlaybackData::resetData() |
|
396 { |
|
397 mDuration = 0; |
|
398 mPosition = 0; |
|
399 mTitle = QString(); |
|
400 mAlbum = QString(); |
|
401 mArtist = QString(); |
|
402 mUri = QString(); |
|
403 mAlbumId = 0; |
|
404 mId = 0; |
|
405 mAlbumArt = HbIcon(); |
|
406 mRealAudio = false; |
|
407 |
|
408 emit durationChanged(); |
|
409 emit positionChanged(); |
|
410 emit albumArtReady(); |
|
411 emit playbackInfoChanged(); |
317 } |
412 } |
318 |
413 |
319 /*! |
414 /*! |
320 Slot to handle the album art thumb. |
415 Slot to handle the album art thumb. |
321 */ |
416 */ |