phonebookui/Phonebook2/Presentation/src/CPbk2ImageReader.cpp
branchRCL_3
changeset 15 e8e3147d53eb
parent 3 04ab22b956c2
child 64 c1e8ba0c2b16
--- a/phonebookui/Phonebook2/Presentation/src/CPbk2ImageReader.cpp	Fri Mar 12 15:41:25 2010 +0200
+++ b/phonebookui/Phonebook2/Presentation/src/CPbk2ImageReader.cpp	Mon Mar 15 12:39:26 2010 +0200
@@ -23,7 +23,6 @@
 // From Phonebook2
 #include "MPbk2ImageReaderObserver.h"
 #include "TPbk2ImageManagerParams.h"
-#include <Pbk2CmdExtRes.rsg>
 #include "Pbk2PresentationUtils.h"
 
 // From Virtual Phonebook
@@ -106,7 +105,6 @@
     return (((aVal%aDiv)>0) ? (TInt)((aVal/aDiv)+1):(TInt)(aVal/aDiv));
     }
 
-
 /**
  * Calculates the the size based on divider. Uses Ceil function for ceiling
  * the calculated size.
@@ -165,7 +163,6 @@
 
     return resSize;
     }
-
 }  // namespace
 
 
@@ -230,12 +227,13 @@
     InitReadL(aParams);
     delete iImageDecoder;
     iImageDecoder = NULL;
-    iImageDecoder = CImageDecoder::FileNewL(iFsSession, aFileName);
+               
+    TRAPD( err, iImageDecoder = CImageDecoder::FileNewL( iFsSession, aFileName ) );
 
     // Make the open phase asynchronous as well by signaling own iStatus
     iState = EStateOpenImage;
     TRequestStatus* status = &iStatus;
-    User::RequestComplete(status, KErrNone);
+    User::RequestComplete( status, err );            
     SetActive();
     }
 
@@ -249,12 +247,12 @@
     InitReadL(aParams);
     delete iImageDecoder;
     iImageDecoder = NULL;
-    iImageDecoder = CImageDecoder::DataNewL(iFsSession, aBuffer);
-
+    TRAPD( err, iImageDecoder = CImageDecoder::DataNewL( iFsSession, aBuffer ) );
+    
     // Make the open phase asynchronous as well by signaling own iStatus
     iState = EStateOpenImage;
     TRequestStatus* status = &iStatus;
-    User::RequestComplete(status, KErrNone);
+    User::RequestComplete( status, err );
     SetActive();
     }
 
@@ -285,16 +283,12 @@
     iMimeString = HBufC8::NewL(KMaxMimeTypeLength);
     TPtr8 mimePtr = iMimeString->Des();
     
-    TRAPD( err, CImageDecoder::GetMimeTypeFileL(iFsSession, aFileName, mimePtr) );
-    	
-    if( err == KErrNotFound )
+    TRAPD( err, CImageDecoder::GetMimeTypeFileL( iFsSession, aFileName, mimePtr ) );
+    	    
+    if( err != KErrNone )
         {
-        HBufC* prompt = StringLoader::LoadLC( R_QTN_ALBUM_ERR_FORMAT_UNKNOWN );
-        CAknInformationNote* dlg = new ( ELeave ) CAknInformationNote( ETrue );
-        dlg->ExecuteLD( *prompt );
-        CleanupStack::PopAndDestroy( prompt );
-        User::Leave( err );
-        }    		
+        iObserver.ImageReadFailed( *this, err );           
+        }    
     }
 
 // --------------------------------------------------------------------------
@@ -307,7 +301,12 @@
     iMimeString = NULL;
     iMimeString = HBufC8::NewL(KMaxMimeTypeLength);
     TPtr8 mimePtr = iMimeString->Des();
-    CImageDecoder::GetMimeTypeDataL(aBuffer, mimePtr);
+    TRAPD( err, CImageDecoder::GetMimeTypeDataL( aBuffer, mimePtr ) );
+        
+    if( err != KErrNone )
+        {
+        iObserver.ImageReadFailed( *this, err );           
+        }    
     }
 
 // --------------------------------------------------------------------------
@@ -393,7 +392,6 @@
     SetActive();
     }
 
-
 // --------------------------------------------------------------------------
 // CPbk2ImageReader::CropImageToSquareL
 // --------------------------------------------------------------------------
@@ -405,12 +403,11 @@
 		{
         Pbk2PresentationImageUtils::CropImageL( 
                 *iBitmap, 
-                Pbk2PresentationImageUtils::ELandscapeOptimizedCropping, 
+                Pbk2PresentationImageUtils::EOptimizedCropping, 
                 iParams.iSize );
 		}
 	}
 
-
 // --------------------------------------------------------------------------
 // CPbk2ImageReader::ScaleBitmapL
 // --------------------------------------------------------------------------
@@ -524,6 +521,7 @@
 void CPbk2ImageReader::RunL()
     {
     TInt status = iStatus.Int();
+        
     switch (status)
         {
         case KErrNone:
@@ -541,7 +539,7 @@
             break;
             }
         default:
-            {
+            {                              
             // Jpeg2000 decoder might need more heap than Phonebook can 
             // provide, the situation is handled so, that "Feature not 
             // supported" -note is shown if memory runs out when decoding 
@@ -555,6 +553,7 @@
             // image is tried to be decoded.
             if ( status == KErrNoMemory )            
                 {
+                
                 TUid imageType;
                 TUid imageSubType;
                 iImageDecoder->ImageType(iParams.iFrameNumber, 
@@ -565,7 +564,8 @@
                     {
                     status = KErrNotSupported;
                     }
-                }            
+                }                   
+            
             iObserver.ImageReadFailed(*this, status);
             break;
             }