diff -r 3673b591050c -r ef55b168cedb mtpdataproviders/mtpimagedp/src/cmtpimagedpobjectpropertymgr.cpp --- a/mtpdataproviders/mtpimagedp/src/cmtpimagedpobjectpropertymgr.cpp Wed Apr 14 16:49:36 2010 +0300 +++ b/mtpdataproviders/mtpimagedp/src/cmtpimagedpobjectpropertymgr.cpp Tue Apr 27 17:30:23 2010 +0300 @@ -422,7 +422,7 @@ __FLOG(_L8("<< CMTPImageDpObjectPropertyMgr::GetPropertyL")); } -void CMTPImageDpObjectPropertyMgr::GetPropertyL(TMTPObjectPropertyCode aProperty, TUint32 &aValue) +void CMTPImageDpObjectPropertyMgr::GetPropertyL(TMTPObjectPropertyCode aProperty, TUint32 &aValue, TBool alwaysCreate/* = ETrue*/) { __FLOG(_L8(">> CMTPImageDpObjectPropertyMgr::GetPropertyL")); __ASSERT_DEBUG(iObjectInfo, Panic(EMTPImageDpObjectNull)); @@ -450,11 +450,14 @@ TInt err = iFs.Entry(iObjectInfo->DesC(CMTPObjectMetaData::ESuid), fileEntry); if (err == KErrNone) { - iDataProvider.ThumbnailManager().GetThumbMgr()->SetFlagsL(CThumbnailManager::EDefaultFlags); - if(fileEntry.FileSize() > KFileSizeMax) + if(fileEntry.FileSize() > KFileSizeMax || !alwaysCreate) { iDataProvider.ThumbnailManager().GetThumbMgr()->SetFlagsL(CThumbnailManager::EDoNotCreate); } + else + { + iDataProvider.ThumbnailManager().GetThumbMgr()->SetFlagsL(CThumbnailManager::EDefaultFlags); + } /** * trap the leave to avoid return general error when PC get object property list @@ -578,7 +581,7 @@ __FLOG(_L8("<< CMTPImageDpObjectPropertyMgr::GetPropertyL")); } -void CMTPImageDpObjectPropertyMgr::GetPropertyL(TMTPObjectPropertyCode aProperty, CMTPTypeArray& aValue) +void CMTPImageDpObjectPropertyMgr::GetPropertyL(TMTPObjectPropertyCode aProperty, CMTPTypeArray& aValue, TBool alwaysCreate /*= ETrue*/) { __FLOG(_L8(">> CMTPImageDpObjectPropertyMgr::GetPropertyL -- SmapleData")); @@ -599,11 +602,15 @@ TInt err = iFs.Entry(iObjectInfo->DesC(CMTPObjectMetaData::ESuid), fileEntry); if (err == KErrNone) { - iDataProvider.ThumbnailManager().GetThumbMgr()->SetFlagsL(CThumbnailManager::EDefaultFlags); - if(fileEntry.FileSize() > KFileSizeMax) + + if(fileEntry.FileSize() > KFileSizeMax || !alwaysCreate) { iDataProvider.ThumbnailManager().GetThumbMgr()->SetFlagsL(CThumbnailManager::EDoNotCreate); } + else + { + iDataProvider.ThumbnailManager().GetThumbMgr()->SetFlagsL(CThumbnailManager::EDefaultFlags); + } /** * trap the leave to avoid return general error when PC get object property list