Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Implemented CATEGORIES with ContactDataObject.
[xestiaab/.git] / source / contacteditor / frmContactEditor-Load.cpp
index d7f8134..d6f47ea 100644 (file)
@@ -236,6 +236,91 @@ bool frmContactEditor::LoadContact(wxString Filename){
                &ContactEditorData.BusinessLanguageListPref,
                lboBusinessLanguages,
                &LangCount);
+               
+       // Process the geopositiosn (GEO).
+       
+       LoadData(&ContactEditorData.GeneralGeographyList,
+               &ContactEditorData.GeneralGeographyListPref,
+               lboGeoposition,
+               &ContactEditorData.HomeGeographyList,
+               &ContactEditorData.HomeGeographyListPref,
+               lboHomeGeoposition,
+               &ContactEditorData.BusinessGeographyList,
+               &ContactEditorData.BusinessGeographyListPref,
+               lboBusinessGeoposition,
+               &GeoCount);
+               
+       // Process the websites (URL).
+       
+       LoadData(&ContactEditorData.GeneralWebsiteList,
+               &ContactEditorData.GeneralWebsiteListPref,
+               lboWebsites,
+               &ContactEditorData.HomeWebsiteList,
+               &ContactEditorData.HomeWebsiteListPref,
+               lboHomeWebsites,
+               &ContactEditorData.BusinessWebsiteList,
+               &ContactEditorData.BusinessWebsiteListPref,
+               lboBusinessWebsites,
+               &URLCount);
+
+       // Process the titles (TITLE).
+       
+       LoadData(&ContactEditorData.GeneralTitleList,
+               &ContactEditorData.GeneralTitleListPref,
+               lboTitles,
+               &ContactEditorData.HomeTitleList,
+               &ContactEditorData.HomeTitleListPref,
+               lboHomeTitles,
+               &ContactEditorData.BusinessTitleList,
+               &ContactEditorData.BusinessTitleListPref,
+               lboBusinessTitles,
+               &TitleCount);
+               
+       // Process the roles (ROLE).
+       
+       LoadData(&ContactEditorData.GeneralRoleList,
+               &ContactEditorData.GeneralRoleListPref,
+               lboRoles,
+               &ContactEditorData.HomeRoleList,
+               &ContactEditorData.HomeRoleListPref,
+               lboHomeRoles,
+               &ContactEditorData.BusinessRoleList,
+               &ContactEditorData.BusinessRoleListPref,
+               lboBusinessRoles,
+               &RoleCount);
+
+       // Process the roles (ORG).
+       
+       LoadData(&ContactEditorData.GeneralOrganisationsList,
+               &ContactEditorData.GeneralOrganisationsListPref,
+               lboOrganisations,
+               &ContactEditorData.HomeOrganisationsList,
+               &ContactEditorData.HomeOrganisationsListPref,
+               lboHomeOrganisations,
+               &ContactEditorData.BusinessOrganisationsList,
+               &ContactEditorData.BusinessOrganisationsListPref,
+               lboBusinessOrganisations,
+               &OrgCount);
+               
+       // Process the notes (NOTE).
+               
+       LoadData(&ContactEditorData.GeneralNoteList,
+               &ContactEditorData.GeneralNoteListPref,
+               lboNotes,
+               &ContactEditorData.HomeNoteList,
+               &ContactEditorData.HomeNoteListPref,
+               lboHomeNotes,
+               &ContactEditorData.BusinessNoteList,
+               &ContactEditorData.BusinessNoteListPref,
+               lboBusinessNotes,
+               &NoteCount);
+               
+       // Process the categories (CATEGORIES).
+
+       LoadData(&ContactEditorData.CategoriesList,
+               &ContactEditorData.CategoriesListPref,
+               lboCategories,
+               &CategoryCount);
 
        for (std::map<int,wxString>::iterator iter = ContactFileLines.begin(); 
         iter != ContactFileLines.end(); ++iter){
@@ -422,19 +507,19 @@ bool frmContactEditor::LoadContact(wxString Filename){
                        
                        LoadLanguage(wxSPropertySeg1, wxSPropertySeg2, &LangCount);
                
-               }*/ else if (wxSProperty == wxT("GEO")){
+               } else if (wxSProperty == wxT("GEO")){
                
                        // See frmContactEditor-LoadGeo.cpp
                        
                        LoadGeo(wxSPropertySeg1, wxSPropertySeg2, &GeoCount);   
                
-               } else if (wxSProperty == wxT("RELATED")){
+               }*/ else if (wxSProperty == wxT("RELATED")){
                        
                        // See fromContactEditor-LoadRelated.cpp
                        
                        LoadRelated(wxSPropertySeg1, wxSPropertySeg2, &RelatedCount);           
                
-               } else if (wxSProperty == wxT("URL")){
+               }/* else if (wxSProperty == wxT("URL")){
 
                        // See frmContactEditor-LoadURL.cpp
                
@@ -470,7 +555,7 @@ bool frmContactEditor::LoadContact(wxString Filename){
                
                        LoadCategory(wxSPropertySeg1, wxSPropertySeg2, &CategoryCount); 
                        
-               } else if (wxSProperty == wxT("PHOTO")) {
+               }*/ else if (wxSProperty == wxT("PHOTO")) {
                
                        // See frmContactEditor-LoadPhoto.cpp
                        
@@ -674,7 +759,7 @@ void frmContactEditor::LoadData(std::map<int, wxString> *GeneralList,
 
        long ListCtrlIndex = -1;
 
-       // Deal with the general addresses.
+       // Deal with the general items.
        
        for (std::map<int,wxString>::iterator Iter = GeneralList->begin();
                Iter != GeneralList->end();
@@ -698,7 +783,7 @@ void frmContactEditor::LoadData(std::map<int, wxString> *GeneralList,
        
        }
        
-       // Deal with the home addresses.
+       // Deal with the home items.
        
        for (std::map<int,wxString>::iterator Iter = HomeList->begin();
                Iter != HomeList->end();
@@ -722,7 +807,7 @@ void frmContactEditor::LoadData(std::map<int, wxString> *GeneralList,
        
        }
        
-       // Deal with the work addresses.
+       // Deal with the work items.
        
        for (std::map<int,wxString>::iterator Iter = BusinessList->begin();
                Iter != BusinessList->end();
@@ -746,4 +831,35 @@ void frmContactEditor::LoadData(std::map<int, wxString> *GeneralList,
        
        }
 
+}
+
+void frmContactEditor::LoadData(std::map<int,wxString> *ItemList,
+               std::map<int,int> *ItemListPref,
+               wxListCtrl *ItemCtrl,
+               int *DataCount){
+
+       long ListCtrlIndex = -1;
+
+       for (std::map<int,wxString>::iterator Iter = ItemList->begin();
+               Iter != ItemList->end();
+               Iter++){
+       
+               wxListItem coldata;
+
+               coldata.SetId(*DataCount);
+               coldata.SetData(*DataCount);
+               coldata.SetText(Iter->second);
+               
+               ListCtrlIndex = ItemCtrl->InsertItem(coldata);
+                               
+               if (MapDataExists(DataCount, ItemListPref)){
+               
+                       ItemCtrl->SetItem(ListCtrlIndex, 1, wxString::Format("%i", ItemListPref->find(*DataCount)->second));
+               
+               }
+       
+               (*DataCount)++;
+       
+       }
+
 }
\ No newline at end of file
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