X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fcontacteditor%2Fcdo%2FContactDataObject.cpp;h=50854091cbd52f289771c2452e3b84a677f6d03c;hb=96a36fb1c4c7e04b5bf17cf07f63f2792d23f067;hp=667c8df28b4bcaec9f12bb3eaac4bd0c5e5a84c5;hpb=9698cdcbe4e3f9808e084fb39369374ea853b0d2;p=xestiaab%2F.git diff --git a/source/contacteditor/cdo/ContactDataObject.cpp b/source/contacteditor/cdo/ContactDataObject.cpp index 667c8df..5085409 100644 --- a/source/contacteditor/cdo/ContactDataObject.cpp +++ b/source/contacteditor/cdo/ContactDataObject.cpp @@ -2082,6 +2082,7 @@ void ContactDataObject::ProcessTelephone(wxString PropertySeg1, wxString Propert TypeSplitLength.insert(std::make_pair(intSplitsFound, intSplitSize)); int intTypeSeek = 0; + bool TypeFound = FALSE; for (std::map::iterator typeiter = TypeSplitPoints.begin(); typeiter != TypeSplitPoints.end(); ++typeiter){ @@ -2101,17 +2102,22 @@ void ContactDataObject::ProcessTelephone(wxString PropertySeg1, wxString Propert } - if (TypePropertyName == wxT("home")){ + if (TypePropertyName == wxT("home") && TypeFound == FALSE){ PropType = PROPERTY_HOME; + TelTypeUI.Append("home"); + intTypeSeek++; + TypeFound = TRUE; - } else if (TypePropertyName == wxT("work")){ + } else if (TypePropertyName == wxT("work") && TypeFound == FALSE){ PropType = PROPERTY_WORK; - + TelTypeUI.Append("work"); + intTypeSeek++; + TypeFound = TRUE; + } - if (TypePropertyName == wxT("text")){ TelTypeUI.Append(_("text")); @@ -2462,9 +2468,21 @@ void ContactDataObject::ProcessGeographic(wxString PropertySeg1, wxString Proper ProcessTokens(&PropertyName, &PropertyValue, &PropertyTokens, &FirstToken); } + + wxStringTokenizer GeoSplitData(PropertySeg2, wxT(":")); - GeopositionList->insert(std::make_pair(*GeographicCount, PropertySeg2)); + if (GeoSplitData.CountTokens() > 1){ + + GeopositionListDataType->insert(std::make_pair(*GeographicCount, GeoSplitData.GetNextToken())); + GeopositionList->insert(std::make_pair(*GeographicCount, GeoSplitData.GetString())); + } else { + + GeopositionList->insert(std::make_pair(*GeographicCount, PropertySeg2)); + GeopositionListDataType->insert(std::make_pair(*GeographicCount, "tel")); + + } + // Add the name token data. if (!PropertyTokens.IsEmpty()){