X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fcontacteditor%2FfrmContactEditor-Save.cpp;h=766241800ba09a8cdf5ec0f1b08335be932d8aaa;hb=4dab38868aa89e14497263a9ac0d6f737151cc09;hp=693c14b79b8491e57e14812c0a904b1472e747d1;hpb=acdf88b58fd1975ad0c38f1e2bb9fc5b89b3ed82;p=xestiaab%2F.git diff --git a/source/contacteditor/frmContactEditor-Save.cpp b/source/contacteditor/frmContactEditor-Save.cpp index 693c14b..7662418 100644 --- a/source/contacteditor/frmContactEditor-Save.cpp +++ b/source/contacteditor/frmContactEditor-Save.cpp @@ -770,14 +770,13 @@ void frmContactEditor::SaveContact( wxCommandEvent& event ) } } - - } + } + // Setup the addresses (General, Home, Business). - //intValue = GeneralAddressList.size(); ResetSaveProcessData(); - + for (std::map::iterator iter = ContactEditorData.GeneralAddressList.begin(); iter != ContactEditorData.GeneralAddressList.end(); ++iter){ @@ -1102,10 +1101,28 @@ void frmContactEditor::SaveContact( wxCommandEvent& event ) intValue2 = iter->first; + wxString strIMFinalValue = iter->second; + + ProcessCaptureStrings(&strIMFinalValue); + + if (ContactEditorData.GeneralIMListTypeInfo.find(iter->first) != + ContactEditorData.GeneralIMListTypeInfo.end()){ + + std::map::iterator DataTypeIter = ContactEditorData.GeneralIMListTypeInfo.find(iter->first); + + strIMFinalValue.insert(0, ":"); + strIMFinalValue.insert(0, DataTypeIter->second); + + } else { + + strIMFinalValue.insert(0, "none:"); + + } + // Process Alternative ID. ProcessSaveData(wxT("IMPP"), &strValue2, &boolValue2, &boolValue, - &iter, &ContactEditorData.GeneralIMList, &ContactData, + &iter, &strIMFinalValue, &ContactData, wxT("ALTID"), &ContactEditorData.GeneralIMListAltID, wxT("PID"), &ContactEditorData.GeneralIMListPID, wxT("MEDIATYPE"), &ContactEditorData.GeneralIMListMediatype, @@ -1121,6 +1138,24 @@ void frmContactEditor::SaveContact( wxCommandEvent& event ) for (std::map::iterator iter = ContactEditorData.HomeIMList.begin(); iter != ContactEditorData.HomeIMList.end(); ++iter){ + wxString strIMFinalValue = iter->second; + + ProcessCaptureStrings(&strIMFinalValue); + + if (ContactEditorData.HomeIMListTypeInfo.find(iter->first) != + ContactEditorData.HomeIMListTypeInfo.end()){ + + std::map::iterator DataTypeIter = ContactEditorData.HomeIMListTypeInfo.find(iter->first); + + strIMFinalValue.insert(0, ":"); + strIMFinalValue.insert(0, DataTypeIter->second); + + } else { + + strIMFinalValue.insert(0, "none:"); + + } + ProcessSaveData(wxT("IMPP;TYPE=home"), &strValue2, &boolValue2, &boolValue, &iter, &ContactEditorData.HomeIMList, &ContactData, wxT("ALTID"), &ContactEditorData.HomeIMListAltID, @@ -1138,6 +1173,24 @@ void frmContactEditor::SaveContact( wxCommandEvent& event ) for (std::map::iterator iter = ContactEditorData.BusinessIMList.begin(); iter != ContactEditorData.BusinessIMList.end(); ++iter){ + wxString strIMFinalValue = iter->second; + + ProcessCaptureStrings(&strIMFinalValue); + + if (ContactEditorData.BusinessIMListTypeInfo.find(iter->first) != + ContactEditorData.BusinessIMListTypeInfo.end()){ + + std::map::iterator DataTypeIter = ContactEditorData.BusinessIMListTypeInfo.find(iter->first); + + strIMFinalValue.insert(0, ":"); + strIMFinalValue.insert(0, DataTypeIter->second); + + } else { + + strIMFinalValue.insert(0, "none:"); + + } + ProcessSaveData(wxT("IMPP;TYPE=work"), &strValue2, &boolValue2, &boolValue, &iter, &ContactEditorData.BusinessIMList, &ContactData, wxT("ALTID"), &ContactEditorData.BusinessIMListAltID, @@ -1156,11 +1209,11 @@ void frmContactEditor::SaveContact( wxCommandEvent& event ) iter != ContactEditorData.GeneralTelephoneList.end(); ++iter){ wxString strAddressFinalValue = iter->second; + int DataID = iter->first; ProcessCaptureStrings(&strAddressFinalValue); - if (ContactEditorData.GeneralTelephoneListDataType.find(iter->first) != - ContactEditorData.GeneralTelephoneListDataType.end()){ + if (MapDataExists(&DataID, &ContactEditorData.GeneralTelephoneListDataType)){ std::map::iterator DataTypeIter = ContactEditorData.GeneralTelephoneListDataType.find(iter->first); @@ -1173,11 +1226,19 @@ void frmContactEditor::SaveContact( wxCommandEvent& event ) } + wxString strAddressTypeInfo; + + if (MapDataExists(&DataID, &ContactEditorData.GeneralTelephoneListTypeInfo)){ + + strAddressTypeInfo = ContactEditorData.GeneralTelephoneListTypeInfo.find(iter->first)->second; + + } + ProcessSaveData(wxT("TEL"), &strValue2, &boolValue2, &boolValue, &iter, &strAddressFinalValue, &ContactData, wxT("ALTID"), &ContactEditorData.GeneralTelephoneListAltID, wxT("PID"), &ContactEditorData.GeneralTelephoneListPID, - wxT("TYPE"), &ContactEditorData.GeneralTelephoneListType, + wxT("TYPE"), &ContactEditorData.GeneralTelephoneListTypeInfo, wxT("PREF"), &ContactEditorData.GeneralTelephoneListPref, wxT(""), &ContactEditorData.GeneralTelephoneListTokens ); @@ -1207,12 +1268,12 @@ void frmContactEditor::SaveContact( wxCommandEvent& event ) strAddressFinalValue.insert(0, "tel:"); } - + ProcessSaveData(wxT("TEL"), &strValue2, &boolValue2, &boolValue, &iter, &strAddressFinalValue, &ContactData, wxT("ALTID"), &ContactEditorData.HomeTelephoneListAltID, wxT("PID"), &ContactEditorData.HomeTelephoneListPID, - wxT("TYPE"), &ContactEditorData.HomeTelephoneListType, + wxT("TYPE"), &ContactEditorData.HomeTelephoneListTypeInfo, wxT("PREF"), &ContactEditorData.HomeTelephoneListPref, wxT(""), &ContactEditorData.HomeTelephoneListTokens ); @@ -1242,12 +1303,12 @@ void frmContactEditor::SaveContact( wxCommandEvent& event ) strAddressFinalValue.insert(0, "tel:"); } - + ProcessSaveData(wxT("TEL"), &strValue2, &boolValue2, &boolValue, &iter, &strAddressFinalValue, &ContactData, wxT("ALTID"), &ContactEditorData.BusinessTelephoneListAltID, wxT("PID"), &ContactEditorData.BusinessTelephoneListPID, - wxT("TYPE"), &ContactEditorData.BusinessTelephoneListType, + wxT("TYPE"), &ContactEditorData.BusinessTelephoneListTypeInfo, wxT("PREF"), &ContactEditorData.BusinessTelephoneListPref, wxT(""), &ContactEditorData.BusinessTelephoneListTokens );