18 // INCLUDE FILES |
18 // INCLUDE FILES |
19 #include <qapplication.h> |
19 #include <qapplication.h> |
20 #include <qpixmap.h> |
20 #include <qpixmap.h> |
21 #include <qtimer.h> |
21 #include <qtimer.h> |
22 #include <mpxmediageneraldefs.h> |
22 #include <mpxmediageneraldefs.h> |
|
23 #include <hbicon.h> |
|
24 |
23 #include <vcxmyvideosdefs.h> |
25 #include <vcxmyvideosdefs.h> |
24 |
26 |
25 #include "videothumbnaildata_p.h" |
27 #include "videothumbnaildata_p.h" |
26 #include "videocollectionwrapper.h" |
28 #include "videocollectionwrapper.h" |
27 #include "videosortfilterproxymodel.h" |
29 #include "videosortfilterproxymodel.h" |
56 // VideoThumbnailDataPrivate::VideoThumbnailDataPrivate() |
58 // VideoThumbnailDataPrivate::VideoThumbnailDataPrivate() |
57 // ----------------------------------------------------------------------------- |
59 // ----------------------------------------------------------------------------- |
58 // |
60 // |
59 VideoThumbnailDataPrivate::VideoThumbnailDataPrivate() : |
61 VideoThumbnailDataPrivate::VideoThumbnailDataPrivate() : |
60 mThumbnailFetcher(0), |
62 mThumbnailFetcher(0), |
61 mDefaultTnVideo(0), |
|
62 mDefaultTnCategory(0), |
|
63 mCurrentModel(0), |
63 mCurrentModel(0), |
64 mCurrentFetchIndex(0), |
64 mCurrentFetchIndex(0), |
65 mCurrentBackgroundFetchCount(0), |
65 mCurrentBackgroundFetchCount(0), |
66 mBgFetchTimer(0), |
66 mBgFetchTimer(0), |
67 mTbnReportTimer(0), |
67 mTbnReportTimer(0), |
415 // VideoThumbnailDataPrivate::defaultThumbnail() |
415 // VideoThumbnailDataPrivate::defaultThumbnail() |
416 // ----------------------------------------------------------------------------- |
416 // ----------------------------------------------------------------------------- |
417 // |
417 // |
418 const QIcon* VideoThumbnailDataPrivate::defaultThumbnail(TMPXItemId mediaId) |
418 const QIcon* VideoThumbnailDataPrivate::defaultThumbnail(TMPXItemId mediaId) |
419 { |
419 { |
420 // Is thumbnail for a video or a category. |
420 const TMPXItemId defaultIdVideo(KMaxTUint32-1, KVcxMvcMediaTypeVideo); |
|
421 const TMPXItemId defaultIdAlbum(KMaxTUint32-1, KVcxMvcMediaTypeAlbum); |
|
422 const TMPXItemId defaultIdDownloads(KVcxMvcCategoryIdDownloads, KVcxMvcMediaTypeCategory); |
|
423 const TMPXItemId defaultIdCaptured(KVcxMvcCategoryIdCaptured, KVcxMvcMediaTypeCategory); |
|
424 |
|
425 // Default thumbnail for video |
421 if(mediaId.iId2 == KVcxMvcMediaTypeVideo) |
426 if(mediaId.iId2 == KVcxMvcMediaTypeVideo) |
422 { |
427 { |
423 if(!mDefaultTnVideo) |
428 if(!mDefaultThumbnails.contains(defaultIdVideo)) |
424 mDefaultTnVideo = new QIcon(":/icons/default_thumbnail_video.svg"); |
429 { |
425 return mDefaultTnVideo; |
430 mDefaultThumbnails[defaultIdVideo] = HbIcon(":/icons/default_thumbnail_video.svg"); |
|
431 } |
|
432 return &mDefaultThumbnails[defaultIdVideo].qicon(); |
426 } |
433 } |
427 else |
434 else |
428 { |
435 { |
429 if(!mDefaultTnCategory) |
436 // Default thumbnail for user defined album. |
430 mDefaultTnCategory = new QIcon(":/icons/default_thumbnail_collection.svg"); |
437 if(mediaId.iId2 == KVcxMvcMediaTypeAlbum) |
431 return mDefaultTnCategory; |
438 { |
|
439 if(!mDefaultThumbnails.contains(defaultIdAlbum)) |
|
440 { |
|
441 mDefaultThumbnails[defaultIdAlbum] = HbIcon(":/icons/default_thumbnail_collection.svg"); |
|
442 } |
|
443 return &mDefaultThumbnails[defaultIdAlbum].qicon(); |
|
444 } |
|
445 |
|
446 // Thumbnails for default collections. |
|
447 switch(mediaId.iId1) |
|
448 { |
|
449 case KVcxMvcCategoryIdDownloads: |
|
450 { |
|
451 if(!mDefaultThumbnails.contains(defaultIdDownloads)) |
|
452 { |
|
453 mDefaultThumbnails[defaultIdDownloads] = HbIcon("qtg_large_video_download"); |
|
454 } |
|
455 return &mDefaultThumbnails[defaultIdDownloads].qicon(); |
|
456 } |
|
457 |
|
458 case KVcxMvcCategoryIdCaptured: |
|
459 { |
|
460 if(!mDefaultThumbnails.contains(defaultIdCaptured)) |
|
461 { |
|
462 mDefaultThumbnails[defaultIdCaptured] = HbIcon("qtg_large_video_capture"); |
|
463 } |
|
464 return &mDefaultThumbnails[defaultIdCaptured].qicon(); |
|
465 } |
|
466 |
|
467 default: |
|
468 { |
|
469 if(!mDefaultThumbnails.contains(defaultIdAlbum)) |
|
470 { |
|
471 mDefaultThumbnails[defaultIdAlbum] = HbIcon(":/icons/default_thumbnail_collection.svg"); |
|
472 } |
|
473 return &mDefaultThumbnails[defaultIdAlbum].qicon(); |
|
474 } |
|
475 } |
432 } |
476 } |
433 } |
477 } |
434 |
478 |
435 // ----------------------------------------------------------------------------- |
479 // ----------------------------------------------------------------------------- |
436 // VideoThumbnailDataPrivate::removeThumbnail() |
480 // VideoThumbnailDataPrivate::removeThumbnail() |
478 mThumbnailFetcher->cancelFetches(); |
522 mThumbnailFetcher->cancelFetches(); |
479 |
523 |
480 // Clear data. |
524 // Clear data. |
481 mReadyThumbnailMediaIds.clear(); |
525 mReadyThumbnailMediaIds.clear(); |
482 mThumbnailData.clear(); |
526 mThumbnailData.clear(); |
483 |
527 mDefaultThumbnails.clear(); |
484 delete mDefaultTnVideo; |
|
485 mDefaultTnVideo = 0; |
|
486 |
|
487 delete mDefaultTnCategory; |
|
488 mDefaultTnCategory = 0; |
|
489 } |
528 } |
490 |
529 |
491 // ----------------------------------------------------------------------------- |
530 // ----------------------------------------------------------------------------- |
492 // VideoThumbnailDataPrivate::startBackgroundFetching() |
531 // VideoThumbnailDataPrivate::startBackgroundFetching() |
493 // ----------------------------------------------------------------------------- |
532 // ----------------------------------------------------------------------------- |