X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fcontacteditor%2FContactDataObject.cpp;h=b71c1f3c4e4985380737a227614cea81aed08647;hb=d5d6f0d5c37cf6040b90c83f7dfb34bedcd235e3;hp=75612ac15aa8821ddba94bdfade90faea939571e;hpb=6e4f629968bde2d607817c2d3f2e42776cd7fb08;p=xestiaab%2F.git diff --git a/source/contacteditor/ContactDataObject.cpp b/source/contacteditor/ContactDataObject.cpp index 75612ac..b71c1f3 100644 --- a/source/contacteditor/ContactDataObject.cpp +++ b/source/contacteditor/ContactDataObject.cpp @@ -2056,6 +2056,7 @@ void ContactDataObject::ProcessEmail(wxString PropertySeg1, wxString PropertySeg wxString PropertyValue; wxString PropertyTokens; bool FirstToken = TRUE; + bool PropertyMatched = FALSE; for (std::map::iterator intiter = SplitPoints.begin(); intiter != SplitPoints.end(); ++intiter){ @@ -2074,37 +2075,30 @@ void ContactDataObject::ProcessEmail(wxString PropertySeg1, wxString PropertySeg // Process properties. - if (PropertyName == wxT("ALTID")){ - - EmailListAltID->erase(*EmailCount); - EmailListAltID->insert(std::make_pair(*EmailCount, PropertyValue)); + ProcessStringValue(&PropertyName, "ALTID", EmailListAltID, &PropertyValue, EmailCount, &PropertyMatched); + ProcessStringValue(&PropertyName, "PID", EmailListPID, &PropertyValue, EmailCount, &PropertyMatched); + ProcessIntegerValue(&PropertyName, "PREF", EmailListPref, &PropertyValue, EmailCount, &PropertyMatched); - } else if (PropertyName == wxT("PID")){ - - EmailListPID->erase(*EmailCount); - EmailListPID->insert(std::make_pair(*EmailCount, PropertyValue)); + if (PropertyMatched == TRUE){ - } else if (PropertyName == wxT("PREF")){ - - ProcessIntegerValue(EmailListPref, &PropertyValue, EmailCount); + PropertyMatched = FALSE; + continue; - } else { + } - if (!PropertyName.IsEmpty() && !PropertyValue.IsEmpty() && PropertyName != wxT("TYPE")){ + if (!PropertyName.IsEmpty() && !PropertyValue.IsEmpty() && PropertyName != wxT("TYPE")){ - if (FirstToken == TRUE){ - - PropertyTokens.Append(PropertyName + wxT("=") + PropertyValue); - FirstToken = FALSE; - - } else { - - PropertyTokens.Append(wxT(";") + PropertyName + wxT("=") + PropertyValue); - - } + if (FirstToken == TRUE){ + + PropertyTokens.Append(PropertyName + wxT("=") + PropertyValue); + FirstToken = FALSE; + + } else { + + PropertyTokens.Append(wxT(";") + PropertyName + wxT("=") + PropertyValue); } - + } } @@ -2186,6 +2180,7 @@ void ContactDataObject::ProcessIM(wxString PropertySeg1, wxString PropertySeg2, wxString PropertyValue; wxString PropertyTokens; bool FirstToken = TRUE; + bool PropertyMatched = FALSE; for (std::map::iterator intiter = SplitPoints.begin(); intiter != SplitPoints.end(); ++intiter){ @@ -2202,41 +2197,30 @@ void ContactDataObject::ProcessIM(wxString PropertySeg1, wxString PropertySeg2, CaptureString(&PropertyValue, FALSE); + ProcessStringValue(&PropertyName, "ALTID", IMListAltID, &PropertyValue, IMCount, &PropertyMatched); + ProcessStringValue(&PropertyName, "PID", IMListPID, &PropertyValue, IMCount, &PropertyMatched); + ProcessStringValue(&PropertyName, "MEDIATYPE", IMListMediatype, &PropertyValue, IMCount, &PropertyMatched); + ProcessIntegerValue(&PropertyName, "PREF", IMListPref, &PropertyValue, IMCount, &PropertyMatched); + // Process properties. - if (PropertyName == wxT("ALTID")){ - - IMListAltID->erase(*IMCount); - IMListAltID->insert(std::make_pair(*IMCount, PropertyValue)); + if (PropertyMatched == TRUE){ + + PropertyMatched = FALSE; + continue; - } else if (PropertyName == wxT("PID")){ - - IMListPID->erase(*IMCount); - IMListPID->insert(std::make_pair(*IMCount, PropertyValue)); + } - } else if (PropertyName == wxT("MEDIATYPE")){ - - IMListMediatype->erase(*IMCount); - IMListMediatype->insert(std::make_pair(*IMCount, PropertyValue)); + if (!PropertyName.IsEmpty() && !PropertyValue.IsEmpty() && PropertyName != wxT("TYPE")){ - } else if (PropertyName == wxT("PREF")){ + if (FirstToken == TRUE){ - ProcessIntegerValue(IMListPref, &PropertyValue, IMCount); - - } else { - - if (!PropertyName.IsEmpty() && !PropertyValue.IsEmpty() && PropertyName != wxT("TYPE")){ + PropertyTokens.Append(PropertyName + wxT("=") + PropertyValue); + FirstToken = FALSE; - if (FirstToken == TRUE){ - - PropertyTokens.Append(PropertyName + wxT("=") + PropertyValue); - FirstToken = FALSE; - - } else { - - PropertyTokens.Append(wxT(";") + PropertyName + wxT("=") + PropertyValue); - - } + } else { + + PropertyTokens.Append(wxT(";") + PropertyName + wxT("=") + PropertyValue); } @@ -2486,6 +2470,8 @@ void ContactDataObject::ProcessTelephone(wxString PropertySeg1, wxString Propert intPrevValue = 4; + bool PropertyMatched = FALSE; + for (std::map::iterator intiter = SplitPoints.begin(); intiter != SplitPoints.end(); ++intiter){ @@ -2503,34 +2489,27 @@ void ContactDataObject::ProcessTelephone(wxString PropertySeg1, wxString Propert // Process properties. - if (PropertyName == wxT("ALTID")){ - - TelephoneListAltID->erase(*TelephoneCount); - TelephoneListAltID->insert(std::make_pair(*TelephoneCount, PropertyValue)); + ProcessStringValue(&PropertyName, "ALTID", TelephoneListAltID, &PropertyValue, TelephoneCount, &PropertyMatched); + ProcessStringValue(&PropertyName, "PID", TelephoneListPID, &PropertyValue, TelephoneCount, &PropertyMatched); + ProcessIntegerValue(&PropertyName, "PREF", TelephoneListPref, &PropertyValue, TelephoneCount, &PropertyMatched); - } else if (PropertyName == wxT("PID")){ - - TelephoneListPID->erase(*TelephoneCount); - TelephoneListPID->insert(std::make_pair(*TelephoneCount, PropertyValue)); + if (PropertyMatched == TRUE){ - } else if (PropertyName == wxT("PREF")){ - - ProcessIntegerValue(TelephoneListPref, &PropertyValue, TelephoneCount); + PropertyMatched = FALSE; + continue; - } else { + } + + if (!PropertyName.IsEmpty() && !PropertyValue.IsEmpty() && PropertyName != wxT("TYPE")){ - if (!PropertyName.IsEmpty() && !PropertyValue.IsEmpty() && PropertyName != wxT("TYPE")){ + if (FirstToken == TRUE){ - if (FirstToken == TRUE){ - - PropertyTokens.Append(PropertyName + wxT("=") + PropertyValue); - FirstToken = FALSE; - - } else { - - PropertyTokens.Append(wxT(";") + PropertyName + wxT("=") + PropertyValue); - - } + PropertyTokens.Append(PropertyName + wxT("=") + PropertyValue); + FirstToken = FALSE; + + } else { + + PropertyTokens.Append(wxT(";") + PropertyName + wxT("=") + PropertyValue); }