Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Replaced code for PREF in TZ for ProcessIntegerValue.
[xestiaab/.git] / source / contacteditor / ContactDataObject.cpp
index 532884d..f6a3da2 100644 (file)
@@ -611,24 +611,8 @@ void ContactDataObject::ProcessSource(wxString PropertySeg1, wxString PropertySe
                
                } else if (PropertyName == wxT("PREF")){
                        
-                       int PriorityNumber = 0;
-                       bool ValidNumber = TRUE;
-                       
-                       try{
-                               PriorityNumber = std::stoi(PropertyValue.ToStdString());
-                       }
-                       
-                       catch(std::invalid_argument &e){
-                               ValidNumber = FALSE;
-                       }
+                       ProcessIntegerValue(this, &SourceListPref, &PropertyValue, SourceCount);
 
-                       if (ValidNumber == TRUE){
-
-                               SourceListPref.erase(*SourceCount);
-                               SourceListPref.insert(std::make_pair(*SourceCount, PriorityNumber));
-
-                       }
-               
                } else if (PropertyName == wxT("MEDIATYPE")){
                
                        SourceListMediatype.erase(*SourceCount);
@@ -785,23 +769,7 @@ void ContactDataObject::ProcessMember(wxString PropertySeg1, wxString PropertySe
                
                } else if (PropertyName == wxT("PREF")){
 
-                       int PriorityNumber = 0;
-                       bool ValidNumber = TRUE;
-                       
-                       try{
-                               PriorityNumber = std::stoi(PropertyValue.ToStdString());
-                       }
-                       
-                       catch(std::invalid_argument &e){
-                               ValidNumber = FALSE;
-                       }
-
-                       if (ValidNumber == TRUE){
-
-                               GroupsListPref.erase(*GroupCount);
-                               GroupsListPref.insert(std::make_pair(*GroupCount, PriorityNumber));
-               
-                       }
+                       ProcessIntegerValue(this, &GroupsListPref, &PropertyValue, GroupCount);
                
                } else if (PropertyName == wxT("MEDIATYPE")){
 
@@ -898,23 +866,7 @@ void ContactDataObject::ProcessFN(wxString PropertySeg1, wxString PropertySeg2,
                
                } else if (PropertyName == wxT("PREF")){
 
-                       int PriorityNumber = 0;
-                       bool ValidNumber = TRUE;
-                       
-                       try{
-                               PriorityNumber = std::stoi(PropertyValue.ToStdString());
-                       }
-                       
-                       catch(std::invalid_argument &e){
-                               ValidNumber = FALSE;
-                       }
-
-                       if (ValidNumber == TRUE){
-
-                               FullNamesListPref.erase(*FNCount);
-                               FullNamesListPref.insert(std::make_pair(*FNCount, PriorityNumber));
-
-                       }
+                       ProcessIntegerValue(this, &FullNamesListPref, &PropertyValue, FNCount);
                
                } else if (!PropertyName.IsEmpty() && !PropertyValue.IsEmpty()){
                        
@@ -1274,23 +1226,7 @@ void ContactDataObject::ProcessNickname(wxString PropertySeg1, wxString Property
 
                } else if (PropertyName == wxT("PREF")){
 
-                       int PriorityNumber = 0;
-                       bool ValidNumber = TRUE;
-                       
-                       try{
-                               PriorityNumber = std::stoi(PropertyValue.ToStdString());
-                       }
-                       
-                       catch(std::invalid_argument &e){
-                               ValidNumber = FALSE;
-                       }
-
-                       if (ValidNumber == TRUE){
-
-                               NicknamesListPref->erase(*NicknameCount);
-                               NicknamesListPref->insert(std::make_pair(*NicknameCount, PriorityNumber));
-
-                       }
+                       ProcessIntegerValue(this, NicknamesListPref, &PropertyValue, NicknameCount);
                
                } else if (PropertyName == wxT("LANGUAGE")){
 
@@ -1765,23 +1701,7 @@ void ContactDataObject::ProcessTimeZone(wxString PropertySeg1, wxString Property
 
                } else if (PropertyName == wxT("PREF")){
 
-                       int PriorityNumber = 0;
-                       bool ValidNumber = TRUE;
-                       
-                       try{
-                               PriorityNumber = std::stoi(PropertyValue.ToStdString());
-                       }
-                       
-                       catch(std::invalid_argument &e){
-                               ValidNumber = FALSE;
-                       }
-
-                       if (ValidNumber == TRUE){
-
-                               TZListPref->erase(*TimeZoneCount);
-                               TZListPref->insert(std::make_pair(*TimeZoneCount, PriorityNumber));
-
-                       }
+                       ProcessIntegerValue(this, TZListPref, &PropertyValue, TimeZoneCount);
                
                } else if (PropertyName == wxT("MEDIATYPE")){
 
@@ -5878,9 +5798,9 @@ void ContactDataObject::ProcessVendor(wxString PropertySeg1, wxString PropertySe
 }
 
 void ProcessIntegerValue(ContactDataObject *ContactData,
-       std::map<int,int> *KeyListPref
+       std::map<int,int> *PrefPtr
        wxString *PropertyValue, 
-       int *KeyCount){
+       int *ItemCount){
 
        int PriorityNumber = 0; 
        bool ValidNumber = TRUE;
@@ -5895,8 +5815,8 @@ void ProcessIntegerValue(ContactDataObject *ContactData,
 
        if (ValidNumber == TRUE){
 
-               KeyListPref->erase(*KeyCount);
-               KeyListPref->insert(std::make_pair(*KeyCount, PriorityNumber));
+               PrefPtr->erase(*ItemCount);
+               PrefPtr->insert(std::make_pair(*ItemCount, PriorityNumber));
 
        }
 
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