Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Implemented LoadData for even better simplification.
authorSteve Brokenshire <sbrokenshire@xestia.co.uk>
Wed, 30 Dec 2015 00:04:57 +0000 (00:04 +0000)
committerSteve Brokenshire <sbrokenshire@xestia.co.uk>
Wed, 30 Dec 2015 00:04:57 +0000 (00:04 +0000)
source/contacteditor/frmContactEditor-Load.cpp
source/contacteditor/frmContactEditor.h

index aa5b0e9..a48d0a3 100644 (file)
@@ -187,23 +187,42 @@ bool frmContactEditor::LoadContact(wxString Filename){
 
        // Process the timezones (TZ) (frmContactEditor-LoadTimeZone.cpp)
        
-       LoadTimeZone(&ContactEditorData.GeneralTZList,
+       LoadData(&ContactEditorData.GeneralTZList,
                &ContactEditorData.GeneralTZListPref,
+               lboTimezones,
                &ContactEditorData.HomeTZList,
                &ContactEditorData.HomeTZListPref,
+               lboHomeTimezones,
                &ContactEditorData.BusinessTZList,
                &ContactEditorData.BusinessTZListPref,
+               lboBusinessTimezones,
                &TZCount);
                
-       // Process the emails (frmContactEditor-LoadEmail.cpp)
+       // Process the emails (EMAIL) (frmContactEditor-LoadEmail.cpp)
        
-       LoadEmail(&ContactEditorData.GeneralEmailList,
+       LoadData(&ContactEditorData.GeneralEmailList,
                &ContactEditorData.GeneralEmailListPref,
+               lboEmails,
                &ContactEditorData.HomeEmailList,
                &ContactEditorData.HomeEmailListPref,
+               lboHomeEmails,
                &ContactEditorData.BusinessEmailList,
                &ContactEditorData.BusinessEmailListPref,
-               &EmailCount);   
+               lboBusinessEmail,
+               &EmailCount);
+
+       // Process the nicknames (NICKNAME) (frmContactEditor-LoadNickname.cpp)
+       
+       LoadData(&ContactEditorData.GeneralNicknamesList,
+               &ContactEditorData.GeneralNicknamesListPref,
+               lboNicknames,
+               &ContactEditorData.HomeNicknamesList,
+               &ContactEditorData.HomeNicknamesListPref,
+               lboHomeNicknames,
+               &ContactEditorData.BusinessNicknamesList,
+               &ContactEditorData.BusinessNicknamesListPref,
+               lboBusinessNicknames,
+               &NicknameCount);
 
        for (std::map<int,wxString>::iterator iter = ContactFileLines.begin(); 
         iter != ContactFileLines.end(); ++iter){
@@ -330,13 +349,13 @@ bool frmContactEditor::LoadContact(wxString Filename){
                
                        LoadN(wxSPropertySeg1, wxSPropertySeg2, &NameProcessed, &ContactData);
                
-               }*/ else if (wxSProperty == wxT("NICKNAME")){
+               } else if (wxSProperty == wxT("NICKNAME")){
                        
                        // See frmContactEditor-LoadNickname.cpp
                        
                        LoadNickname(wxSPropertySeg1, wxSPropertySeg2, &NicknameCount, &ContactData);
                        
-               }/* else if (wxSProperty == wxT("GENDER") && GenderProcessed == FALSE){
+               } else if (wxSProperty == wxT("GENDER") && GenderProcessed == FALSE){
                
                        // See frmContactEditor-LoadGender.cpp
                
@@ -627,4 +646,91 @@ void frmContactEditor::SplitValues(wxString *PropertyLine,
 
        }
 
+}
+
+void frmContactEditor::LoadData(std::map<int, wxString> *GeneralList,
+               std::map<int, int> *GeneralListPref,
+               wxListCtrl *GeneralListCtrl,
+               std::map<int, wxString> *HomeList,
+               std::map<int, int> *HomeListPref,
+               wxListCtrl *HomeListCtrl,
+               std::map<int, wxString> *BusinessList,
+               std::map<int, int> *BusinessListPref,
+               wxListCtrl *BusinessListCtrl,
+               int *DataCount){
+
+       long ListCtrlIndex = -1;
+
+       // Deal with the general addresses.
+       
+       for (std::map<int,wxString>::iterator Iter = GeneralList->begin();
+               Iter != GeneralList->end();
+               Iter++){
+       
+               wxListItem coldata;
+
+               coldata.SetId(*DataCount);
+               coldata.SetData(*DataCount);
+               coldata.SetText(Iter->second);
+               
+               ListCtrlIndex = GeneralListCtrl->InsertItem(coldata);
+
+               if (MapDataExists(DataCount, GeneralListPref)){
+               
+                       GeneralListCtrl->SetItem(ListCtrlIndex, 1, wxString::Format("%i", GeneralListPref->find(*DataCount)->second));
+               
+               }
+       
+               (*DataCount)++;
+       
+       }
+       
+       // Deal with the home addresses.
+       
+       for (std::map<int,wxString>::iterator Iter = HomeList->begin();
+               Iter != HomeList->end();
+               Iter++){
+       
+               wxListItem coldata;
+
+               coldata.SetId(*DataCount);
+               coldata.SetData(*DataCount);
+               coldata.SetText(Iter->second);
+               
+               ListCtrlIndex = HomeListCtrl->InsertItem(coldata);
+
+               if (MapDataExists(DataCount, HomeListPref)){
+               
+                       HomeListCtrl->SetItem(ListCtrlIndex, 1, wxString::Format("%i", HomeListPref->find(*DataCount)->second));
+               
+               }
+       
+               (*DataCount)++;
+       
+       }
+       
+       // Deal with the work addresses.
+       
+       for (std::map<int,wxString>::iterator Iter = BusinessList->begin();
+               Iter != BusinessList->end();
+               Iter++){
+       
+               wxListItem coldata;
+
+               coldata.SetId(*DataCount);
+               coldata.SetData(*DataCount);
+               coldata.SetText(Iter->second);
+               
+               ListCtrlIndex = BusinessListCtrl->InsertItem(coldata);
+                               
+               if (MapDataExists(DataCount, BusinessListPref)){
+               
+                       BusinessListCtrl->SetItem(ListCtrlIndex, 1, wxString::Format("%i", BusinessListPref->find(*DataCount)->second));
+               
+               }
+       
+               (*DataCount)++;
+       
+       }
+
 }
\ No newline at end of file
index a9f0ab5..a0cf860 100644 (file)
@@ -639,6 +639,17 @@ class frmContactEditor : public frmContactEditorADT
                void LoadCalFreeBusy(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *FreeBusyCount);
                void LoadKey(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *KeyCount);
                
+               void LoadData(std::map<int, wxString> *GeneralList,
+                       std::map<int, int> *GeneralListPref,
+                       wxListCtrl *GeneralListCtrl,
+                       std::map<int, wxString> *HomeList,
+                       std::map<int, int> *HomeListPref,
+                       wxListCtrl *HomeListCtrl,
+                       std::map<int, wxString> *BusinessList,
+                       std::map<int, int> *BusinessTZPref,
+                       wxListCtrl *BusinessListCtrl,
+                       int *DataCount);
+               
                void LoadGender(wxString *GenderComponent, wxString *GenderIdentity);
                void LoadBirthday(wxString *BirthdayData, bool *BirthdayText);
                void LoadAnniversary(wxString *AnniversaryData, bool *AnniversaryText);
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