diff -r bbb98528c666 -r 3738fe97f027 videocollection/videocollectionwrapper/src/videothumbnaildata_p.cpp --- a/videocollection/videocollectionwrapper/src/videothumbnaildata_p.cpp Thu Apr 01 23:22:15 2010 +0300 +++ b/videocollection/videocollectionwrapper/src/videothumbnaildata_p.cpp Thu Apr 01 23:32:44 2010 +0300 @@ -20,6 +20,8 @@ #include #include #include +#include + #include #include "videothumbnaildata_p.h" @@ -58,8 +60,6 @@ // VideoThumbnailDataPrivate::VideoThumbnailDataPrivate() : mThumbnailFetcher(0), - mDefaultTnVideo(0), - mDefaultTnCategory(0), mCurrentModel(0), mCurrentFetchIndex(0), mCurrentBackgroundFetchCount(0), @@ -417,18 +417,62 @@ // const QIcon* VideoThumbnailDataPrivate::defaultThumbnail(TMPXItemId mediaId) { - // Is thumbnail for a video or a category. + const TMPXItemId defaultIdVideo(KMaxTUint32-1, KVcxMvcMediaTypeVideo); + const TMPXItemId defaultIdAlbum(KMaxTUint32-1, KVcxMvcMediaTypeAlbum); + const TMPXItemId defaultIdDownloads(KVcxMvcCategoryIdDownloads, KVcxMvcMediaTypeCategory); + const TMPXItemId defaultIdCaptured(KVcxMvcCategoryIdCaptured, KVcxMvcMediaTypeCategory); + + // Default thumbnail for video if(mediaId.iId2 == KVcxMvcMediaTypeVideo) { - if(!mDefaultTnVideo) - mDefaultTnVideo = new QIcon(":/icons/default_thumbnail_video.svg"); - return mDefaultTnVideo; + if(!mDefaultThumbnails.contains(defaultIdVideo)) + { + mDefaultThumbnails[defaultIdVideo] = HbIcon(":/icons/default_thumbnail_video.svg"); + } + return &mDefaultThumbnails[defaultIdVideo].qicon(); } else { - if(!mDefaultTnCategory) - mDefaultTnCategory = new QIcon(":/icons/default_thumbnail_collection.svg"); - return mDefaultTnCategory; + // Default thumbnail for user defined album. + if(mediaId.iId2 == KVcxMvcMediaTypeAlbum) + { + if(!mDefaultThumbnails.contains(defaultIdAlbum)) + { + mDefaultThumbnails[defaultIdAlbum] = HbIcon(":/icons/default_thumbnail_collection.svg"); + } + return &mDefaultThumbnails[defaultIdAlbum].qicon(); + } + + // Thumbnails for default collections. + switch(mediaId.iId1) + { + case KVcxMvcCategoryIdDownloads: + { + if(!mDefaultThumbnails.contains(defaultIdDownloads)) + { + mDefaultThumbnails[defaultIdDownloads] = HbIcon("qtg_large_video_download"); + } + return &mDefaultThumbnails[defaultIdDownloads].qicon(); + } + + case KVcxMvcCategoryIdCaptured: + { + if(!mDefaultThumbnails.contains(defaultIdCaptured)) + { + mDefaultThumbnails[defaultIdCaptured] = HbIcon("qtg_large_video_capture"); + } + return &mDefaultThumbnails[defaultIdCaptured].qicon(); + } + + default: + { + if(!mDefaultThumbnails.contains(defaultIdAlbum)) + { + mDefaultThumbnails[defaultIdAlbum] = HbIcon(":/icons/default_thumbnail_collection.svg"); + } + return &mDefaultThumbnails[defaultIdAlbum].qicon(); + } + } } } @@ -480,12 +524,7 @@ // Clear data. mReadyThumbnailMediaIds.clear(); mThumbnailData.clear(); - - delete mDefaultTnVideo; - mDefaultTnVideo = 0; - - delete mDefaultTnCategory; - mDefaultTnCategory = 0; + mDefaultThumbnails.clear(); } // -----------------------------------------------------------------------------