videocollection/videocollectionwrapper/src/videothumbnaildata_p.cpp
changeset 35 3738fe97f027
parent 34 bbb98528c666
child 36 8aed59de29f9
equal deleted inserted replaced
34:bbb98528c666 35:3738fe97f027
    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 // -----------------------------------------------------------------------------