phonebookui/Phonebook/View/src/TPbkAddItemManager.cpp
branchRCL_3
changeset 32 2828b4d142c0
parent 0 e686773b3f54
child 64 c1e8ba0c2b16
equal deleted inserted replaced
26:0d28c1c5b6dd 32:2828b4d142c0
    88 
    88 
    89 void TPbkAddItemManager::AddFieldsToContactL(
    89 void TPbkAddItemManager::AddFieldsToContactL(
    90         const TPbkAddItemWrapper& aItemWrapper,
    90         const TPbkAddItemWrapper& aItemWrapper,
    91         RArray<TInt>& aAddedItemsControlIds)
    91         RArray<TInt>& aAddedItemsControlIds)
    92     {
    92     {
       
    93     CleanupClosePushL( aAddedItemsControlIds );
    93     aAddedItemsControlIds.Reset();
    94     aAddedItemsControlIds.Reset();
    94 
    95 
    95     for (TInt i = 0; i < aItemWrapper.FieldInfoCount(); ++i)
    96     for (TInt i = 0; i < aItemWrapper.FieldInfoCount(); ++i)
    96         {
    97         {
    97         CPbkFieldInfo* fieldInfo = aItemWrapper.FieldInfoAt(i);    
    98         CPbkFieldInfo* fieldInfo = aItemWrapper.FieldInfoAt(i);    
   100             // add field to contact and list of added fields
   101             // add field to contact and list of added fields
   101 			MPbkContactEditorField& field = iAddField.CreateFieldL(*fieldInfo);
   102 			MPbkContactEditorField& field = iAddField.CreateFieldL(*fieldInfo);
   102             User::LeaveIfError(aAddedItemsControlIds.Append(field.ControlId()));
   103             User::LeaveIfError(aAddedItemsControlIds.Append(field.ControlId()));
   103 			}
   104 			}
   104         }
   105         }
       
   106     CleanupStack::Pop();
   105     }
   107     }
   106 
   108 
   107 /**
   109 /**
   108  * This function creates the list of selectable items for the 
   110  * This function creates the list of selectable items for the 
   109  * query dialog in aAddItems array. The items are either CPbkFieldInfo
   111  * query dialog in aAddItems array. The items are either CPbkFieldInfo
   111  */
   113  */
   112 void TPbkAddItemManager::CreateAddItemArrayL(
   114 void TPbkAddItemManager::CreateAddItemArrayL(
   113         const CPbkFieldsInfo& aFieldsInfo,
   115         const CPbkFieldsInfo& aFieldsInfo,
   114         RArray<TPbkAddItemWrapper>& aAddItems) const
   116         RArray<TPbkAddItemWrapper>& aAddItems) const
   115     {
   117     {
       
   118     CleanupClosePushL( aAddItems );
   116     aAddItems.Reset();
   119     aAddItems.Reset();
   117     const TInt fieldInfoCount = aFieldsInfo.Count();
   120     const TInt fieldInfoCount = aFieldsInfo.Count();
   118     
   121     
   119     RPointerArray<CPbkFieldInfoGroup> addedGroups;
   122     RPointerArray<CPbkFieldInfoGroup> addedGroups;
   120     CleanupClosePushL(addedGroups);
   123     CleanupClosePushL(addedGroups);
   159                 User::LeaveIfError(aAddItems.Append(TPbkAddItemWrapper(*fieldInfo)));                
   162                 User::LeaveIfError(aAddItems.Append(TPbkAddItemWrapper(*fieldInfo)));                
   160                 }
   163                 }
   161             }
   164             }
   162         }
   165         }
   163     CleanupStack::PopAndDestroy(); // addedGroups
   166     CleanupStack::PopAndDestroy(); // addedGroups
       
   167     CleanupStack::Pop();
   164     }
   168     }
   165 
   169 
   166 // End of File
   170 // End of File