TypeSplitLength.insert(std::make_pair(intSplitsFound, intSplitSize));
int intTypeSeek = 0;
+ bool TypeFound = FALSE;
for (std::map<int, int>::iterator typeiter = TypeSplitPoints.begin();
typeiter != TypeSplitPoints.end(); ++typeiter){
}
- 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"));
std::map<int, wxString> *GeopositionListPID = NULL;
std::map<int, wxString> *GeopositionListTokens = NULL;
std::map<int, wxString> *GeopositionListMediatype = NULL;
+ std::map<int, wxString> *GeopositionListDataType = NULL;
std::map<int, int> *GeopositionListPref = NULL;
switch(PropType){
GeopositionListPID = &GeneralGeographyListPID;
GeopositionListTokens = &GeneralGeographyListTokens;
GeopositionListMediatype = &GeneralGeographyListMediatype;
+ GeopositionListDataType = &GeneralGeographyListDataType;
GeopositionListPref = &GeneralGeographyListPref;
break;
case PROPERTY_HOME:
GeopositionListPID = &HomeGeographyListPID;
GeopositionListTokens = &HomeGeographyListTokens;
GeopositionListMediatype = &HomeGeographyListMediatype;
+ GeopositionListDataType = &HomeGeographyListDataType;
GeopositionListPref = &HomeGeographyListPref;
break;
case PROPERTY_WORK:
GeopositionListAltID = &BusinessGeographyListAltID;
GeopositionListPID = &BusinessGeographyListPID;
GeopositionListTokens = &BusinessGeographyListTokens;
- GeopositionListMediatype = &BusinessGeographyListMediatype;
+ GeopositionListMediatype = &BusinessGeographyListMediatype;
+ GeopositionListDataType = &BusinessGeographyListDataType;
GeopositionListPref = &BusinessGeographyListPref;
break;
}
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()){