{
__pPresentationModel->SetValue(DETAIL_PROPERTY_RINGTONE, String());
__pPresentationModel->UpdateContact();
+ __pTableView->RefreshItem(__pItemList->GetCount() - 1, TABLE_VIEW_REFRESH_TYPE_ITEM_MODIFY);
}
break;
case IDA_VOICE_CALL:
__pTableView->RefreshItem(__pItemList->GetCount() - 2, TABLE_VIEW_REFRESH_TYPE_ITEM_MODIFY);
}
- else if (previousSceneId == IDSCN_CONTACT_EDITOR && __appControlViewType.IsEmpty())
+ else if (previousSceneId == IDSCN_CONTACT_EDITOR && __appControlViewType.Equals(VALUE_VIEW_TYPE_VCF, false) == false)
{
InitializeDetailItemList();
__pTableView->UpdateTableView();
pFooter->SetButton(BUTTON_POSITION_LEFT, footerItemMore);
}
- String otherNumber;
- String otherNumberType;
- String defaultNumber = __pPresentationModel->GetValue(DETAIL_PROPERTY_DEFAULT_PHONE_NUMBER);
- String defaultNumberType = __pPresentationModel->GetType(DETAIL_PROPERTY_DEFAULT_PHONE_NUMBER);
for (int subIndex = 0; subIndex < otherNumberCount; subIndex++)
{
- //omit default number
- otherNumber = __pPresentationModel->GetValue(DETAIL_PROPERTY_PHONE_NUMBER, subIndex);
- otherNumberType = __pPresentationModel->GetType(DETAIL_PROPERTY_PHONE_NUMBER, subIndex);
-
- if (otherNumber.CompareTo(defaultNumber) == 0 && otherNumberType.CompareTo(defaultNumberType) == 0)
+ if (__pPresentationModel->GetDefaultNumberIndex() != subIndex)
{
- continue;
+ __pItemList->Add(DETAIL_PROPERTY_PHONE_NUMBER + subIndex);
}
-
- __pItemList->Add(DETAIL_PROPERTY_PHONE_NUMBER + subIndex);
}
}
void
ContactEditorForm::OnContactsChanged(void)
{
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+
if (__isSaved == false)
{
+ if (__pPresentationModel->IsContactRemoved())
+ {
+ pSceneManager->GoBackward(BackwardSceneTransition(SCENE_TRANSITION_ANIMATION_TYPE_RIGHT));
+ }
+
return;
}
else
{
ArrayList* pArg = null;
- SceneManager* pSceneManager = SceneManager::GetInstance();
if (__pPresentationModel->GetVcfPath().IsEmpty() == false)
{
{
SetContactId(__pContact->GetRecordId());
}
+ else if (__isEditing)
+ {
+ IEnumerator* pEnum = contactChangeInfoList.GetEnumeratorN();
+
+ if (pEnum != null)
+ {
+ while (pEnum->MoveNext() == E_SUCCESS)
+ {
+ const ContactChangeInfo* pChangeInfo = static_cast<const ContactChangeInfo *>(pEnum->GetCurrent());
+
+ if (pChangeInfo != null && pChangeInfo->GetChangeType() == RECORD_CHANGE_TYPE_REMOVED && __pContact->GetRecordId() == pChangeInfo->GetContactId())
+ {
+ SetContactId(INVALID_RECORD_ID);
+ break;
+ }
+ }
+ delete pEnum;
+ }
+ }
IContactEventListener* pInterface = null;
IEnumerator* pEnum = __pContactListenerList->GetEnumeratorN();