Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Replaced string processing in FN with ProcessStringValue.
authorSteve Brokenshire <sbrokenshire@xestia.co.uk>
Mon, 28 Dec 2015 03:57:59 +0000 (03:57 +0000)
committerSteve Brokenshire <sbrokenshire@xestia.co.uk>
Mon, 28 Dec 2015 03:57:59 +0000 (03:57 +0000)
source/contacteditor/ContactDataObject.cpp

index d794af2..56b2846 100644 (file)
@@ -807,6 +807,7 @@ void ContactDataObject::ProcessFN(wxString PropertySeg1, wxString PropertySeg2,
        wxString PropertyTokens;
        std::map<int,int>::iterator SLiter;
        bool FirstToken = TRUE;
+       bool PropertyMatched = FALSE;
        
        for (std::map<int, int>::iterator intiter = SplitPoints.begin(); 
        intiter != SplitPoints.end(); ++intiter){
@@ -832,27 +833,24 @@ void ContactDataObject::ProcessFN(wxString PropertySeg1, wxString PropertySeg2,
                                FullNamesListType.insert(std::make_pair(*FNCount, PropertyValue));
                
                        }
+                       
+                       PropertyMatched = TRUE;
                
-               } else if (PropertyName == wxT("LANGUAGE")){
-
-                       FullNamesListLanguage.erase(*FNCount);
-                       FullNamesListLanguage.insert(std::make_pair(*FNCount, PropertyValue));
+               }
                
-               } else if (PropertyName == wxT("ALTID")){
+               ProcessStringValue(&PropertyName, "ALTID", &FullNamesListAltID, &PropertyValue, FNCount, &PropertyMatched);
+               ProcessStringValue(&PropertyName, "PID", &FullNamesListPID, &PropertyValue, FNCount, &PropertyMatched);
+               ProcessStringValue(&PropertyName, "LANGUAGE", &FullNamesListLanguage, &PropertyValue, FNCount, &PropertyMatched);
+               ProcessIntegerValue(&PropertyName, "PREF", &FullNamesListPref, &PropertyValue, FNCount, &PropertyMatched);
                
-                       FullNamesListAltID.erase(*FNCount);
-                       FullNamesListAltID.insert(std::make_pair(*FNCount, PropertyValue));
+               if (PropertyMatched == TRUE){
                
-               } else if (PropertyName == wxT("PID")){
-
-                       FullNamesListPID.erase(*FNCount);
-                       FullNamesListPID.insert(std::make_pair(*FNCount, PropertyValue));
+                       PropertyMatched = FALSE;
+                       continue;
                
-               } else if (PropertyName == wxT("PREF")){
-
-                       ProcessIntegerValue(&FullNamesListPref, &PropertyValue, FNCount);
+               }
                
-               } else if (!PropertyName.IsEmpty() && !PropertyValue.IsEmpty()){
+               if (!PropertyName.IsEmpty() && !PropertyValue.IsEmpty()){
                        
                        if (FirstToken == TRUE){
                                
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy