40 CThumbnailScaleTask* CThumbnailScaleTask::NewL( CThumbnailTaskProcessor& |
40 CThumbnailScaleTask* CThumbnailScaleTask::NewL( CThumbnailTaskProcessor& |
41 aProcessor, CThumbnailServer& aServer, const TDesC& aFilename, CFbsBitmap* |
41 aProcessor, CThumbnailServer& aServer, const TDesC& aFilename, CFbsBitmap* |
42 aBitmap, const TSize& aOriginalSize, const TSize& aTargetSize, TBool aCrop, |
42 aBitmap, const TSize& aOriginalSize, const TSize& aTargetSize, TBool aCrop, |
43 TDisplayMode aDisplayMode, TInt aPriority, const TDesC& aTargetUri, |
43 TDisplayMode aDisplayMode, TInt aPriority, const TDesC& aTargetUri, |
44 const TThumbnailSize aThumbnailSize, const TInt64 aModified, |
44 const TThumbnailSize aThumbnailSize, const TInt64 aModified, |
45 TBool aBitmapToPool, const TBool aEXIF, const TThumbnailServerRequestId aRequestId) |
45 TBool aBitmapToPool, const TBool aEXIF, const TThumbnailServerRequestId aRequestId, |
|
46 const TBool aImportVirtual) |
46 { |
47 { |
47 // We take ownership of aBitmap |
48 // We take ownership of aBitmap |
48 CleanupStack::PushL( aBitmap ); |
49 CleanupStack::PushL( aBitmap ); |
49 CThumbnailScaleTask* self = new( ELeave )CThumbnailScaleTask( aProcessor, |
50 CThumbnailScaleTask* self = new( ELeave )CThumbnailScaleTask( aProcessor, |
50 aServer, aFilename, aBitmap, aOriginalSize, aTargetSize, aCrop, |
51 aServer, aFilename, aBitmap, aOriginalSize, aTargetSize, aCrop, |
51 aDisplayMode, aPriority, aTargetUri, aThumbnailSize, aModified, |
52 aDisplayMode, aPriority, aTargetUri, aThumbnailSize, aModified, |
52 aBitmapToPool, aEXIF, aRequestId); |
53 aBitmapToPool, aEXIF, aRequestId, aImportVirtual); |
53 CleanupStack::Pop( aBitmap ); |
54 CleanupStack::Pop( aBitmap ); |
54 CleanupStack::PushL( self ); |
55 CleanupStack::PushL( self ); |
55 self->ConstructL(); |
56 self->ConstructL(); |
56 CleanupStack::Pop( self ); |
57 CleanupStack::Pop( self ); |
57 return self; |
58 return self; |
66 CThumbnailScaleTask::CThumbnailScaleTask( CThumbnailTaskProcessor& aProcessor, |
67 CThumbnailScaleTask::CThumbnailScaleTask( CThumbnailTaskProcessor& aProcessor, |
67 CThumbnailServer& aServer, const TDesC& aFilename, CFbsBitmap* aBitmap, |
68 CThumbnailServer& aServer, const TDesC& aFilename, CFbsBitmap* aBitmap, |
68 const TSize& aOriginalSize, const TSize& aTargetSize, TBool aCrop, |
69 const TSize& aOriginalSize, const TSize& aTargetSize, TBool aCrop, |
69 TDisplayMode aDisplayMode, TInt aPriority, const TDesC& aTargetUri, |
70 TDisplayMode aDisplayMode, TInt aPriority, const TDesC& aTargetUri, |
70 const TThumbnailSize aThumbnailSize, const TInt64 aModified, |
71 const TThumbnailSize aThumbnailSize, const TInt64 aModified, |
71 TBool aBitmapToPool, const TBool aEXIF, const TThumbnailServerRequestId aRequestId): |
72 TBool aBitmapToPool, const TBool aEXIF, const TThumbnailServerRequestId aRequestId, |
|
73 const TBool aVirtualUri): |
72 CThumbnailTask( aProcessor, aPriority ), iServer( aServer ), iOwnBitmap( aBitmap ), |
74 CThumbnailTask( aProcessor, aPriority ), iServer( aServer ), iOwnBitmap( aBitmap ), |
73 iOriginalSize( aOriginalSize ), iTargetSize(aTargetSize), iTargetSizeTN( aTargetSize ), iCrop( aCrop ), |
75 iOriginalSize( aOriginalSize ), iTargetSize(aTargetSize), iTargetSizeTN( aTargetSize ), iCrop( aCrop ), |
74 iDisplayMode( aDisplayMode ), iFilename( aFilename ), iTargetUri( aTargetUri ), |
76 iDisplayMode( aDisplayMode ), iFilename( aFilename ), iTargetUri( aTargetUri ), |
75 iThumbnailSize(aThumbnailSize), iModified(aModified), |
77 iThumbnailSize(aThumbnailSize), iModified(aModified), |
76 iBitmapToPool(aBitmapToPool), iEXIF(aEXIF) |
78 iBitmapToPool(aBitmapToPool), iEXIF(aEXIF), iVirtualUri( aVirtualUri ) |
77 { |
79 { |
78 TN_DEBUG2( "CThumbnailScaleTask(0x%08x)::CThumbnailScaleTask()", this ); |
80 TN_DEBUG2( "CThumbnailScaleTask(0x%08x)::CThumbnailScaleTask()", this ); |
79 |
81 |
80 iRequestId = aRequestId; |
82 iRequestId = aRequestId; |
81 } |
83 } |
346 if (iTargetUri != KNullDesC) |
349 if (iTargetUri != KNullDesC) |
347 { |
350 { |
348 if (iFilename != KNullDesC && iFilename.CompareF(iTargetUri) == 0) |
351 if (iFilename != KNullDesC && iFilename.CompareF(iTargetUri) == 0) |
349 { |
352 { |
350 // filename and target URI match, so thumb created from associated path |
353 // filename and target URI match, so thumb created from associated path |
351 iServer.StoreThumbnailL( iTargetUri, iScaledBitmap, iOriginalSize, iCrop, iThumbnailSize, iModified, ETrue ); |
354 iServer.StoreThumbnailL( iTargetUri, iScaledBitmap, iOriginalSize, iCrop, |
|
355 iThumbnailSize, iModified, !iVirtualUri, !iVirtualUri ); |
352 } |
356 } |
353 else |
357 else |
354 { |
358 { |
355 // thumb not created from associated path |
359 // thumb not created from associated path |
356 iServer.StoreThumbnailL( iTargetUri, iScaledBitmap, iOriginalSize, iCrop, iThumbnailSize, iModified, EFalse, EFalse ); |
360 iServer.StoreThumbnailL( iTargetUri, iScaledBitmap, iOriginalSize, iCrop, |
|
361 iThumbnailSize, iModified, !iVirtualUri, EFalse ); |
357 } |
362 } |
358 } |
363 } |
359 else if (iFilename != KNullDesC) |
364 else if (iFilename != KNullDesC) |
360 { |
365 { |
361 iServer.StoreThumbnailL( iFilename, iScaledBitmap, iOriginalSize, iCrop, iThumbnailSize, iModified, ETrue ); |
366 iServer.StoreThumbnailL( iFilename, iScaledBitmap, iOriginalSize, iCrop, |
|
367 iThumbnailSize, iModified, !iVirtualUri, !iVirtualUri ); |
362 } |
368 } |
363 } |
369 } |
364 |
370 |
365 if ( ClientThreadAlive() ) |
371 if ( ClientThreadAlive() ) |
366 { |
372 { |