phonebookui/Phonebook2/UIControls/src/Pbk2ImageCommands.cpp
branchRCL_3
changeset 18 d4f567ce2e7c
parent 6 e8e3147d53eb
--- a/phonebookui/Phonebook2/UIControls/src/Pbk2ImageCommands.cpp	Thu Jul 15 18:22:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/Pbk2ImageCommands.cpp	Thu Aug 19 09:41:07 2010 +0300
@@ -619,27 +619,34 @@
         services.ContactManager() );
 	CleanupStack::PushL( imageManager );
 	
-    if( CAknQueryDialog::NewL()->ExecuteLD(
-            R_PHONEBOOK2_REMOVE_IMAGE_CONFIRMATION_DIALOG ) )
-        {
-        TPbk2StoreContactAnalyzer analyzer(
-            services.ContactManager(), aContact );
-        TInt imageIndex = analyzer.HasFieldL( R_PHONEBOOK2_IMAGE_SELECTOR );
+	const MVPbkFieldType* thumbType = services.ContactManager().FieldTypes().Find(
+	                R_VPBK_FIELD_TYPE_THUMBNAILPIC );
+	
+	// show a confirmation query if contact has an image
+	if (thumbType && imageManager->HasImage( *aContact, *thumbType ) )
+	    {
+	    if ( CAknQueryDialog::NewL()->ExecuteLD( 
+	            R_PHONEBOOK2_REMOVE_IMAGE_CONFIRMATION_DIALOG ) )
+	        {
+	        TPbk2StoreContactAnalyzer analyzer(
+	                services.ContactManager(), aContact );
+	        TInt imageIndex = analyzer.HasFieldL( R_PHONEBOOK2_IMAGE_SELECTOR );
         
-        if ( imageIndex != KErrNotFound )
-            {
-            //aContact->RemoveField( imageIndex );
-            //Instead of above we don't remove the field, just zero it's data
-            MVPbkContactFieldData& data(aContact->Fields().
-                FieldAt( imageIndex ).FieldData());
-            MVPbkContactFieldTextData::Cast( data ).SetTextL(KNullDesC);
-            }
+	        if ( imageIndex != KErrNotFound )
+	            {
+	            //aContact->RemoveField( imageIndex );
+	            //Instead of above we don't remove the field, just zero it's data
+	            MVPbkContactFieldData& data(aContact->Fields().
+	                    FieldAt( imageIndex ).FieldData());
+	            MVPbkContactFieldTextData::Cast( data ).SetTextL(KNullDesC);
+	            }
         
-        const MVPbkFieldType* thumbFieldType = ThumbnailFieldTypeL(services);
-        imageManager->RemoveImage( *aContact, *thumbFieldType );
-        }
+	        const MVPbkFieldType* thumbFieldType = ThumbnailFieldTypeL(services);
+	        imageManager->RemoveImage( *aContact, *thumbFieldType );
+	        }
+	    }
+	
     CleanupStack::PopAndDestroy( imageManager );
-
     CleanupStack::PopAndDestroy(); // services
     
     return NULL; // synchronous operation