&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){
LoadTitle(wxSPropertySeg1, wxSPropertySeg2, &TitleCount);
- }*/ else if (wxSProperty == wxT("ROLE")) {
+ } else if (wxSProperty == wxT("ROLE")) {
// See frmContactEditor-LoadRole.cpp
LoadCategory(wxSPropertySeg1, wxSPropertySeg2, &CategoryCount);
- } else if (wxSProperty == wxT("PHOTO")) {
+ }*/ else if (wxSProperty == wxT("PHOTO")) {
// See frmContactEditor-LoadPhoto.cpp
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();
}
- // Deal with the home addresses.
+ // Deal with the home items.
for (std::map<int,wxString>::iterator Iter = HomeList->begin();
Iter != HomeList->end();
}
- // Deal with the work addresses.
+ // Deal with the work items.
for (std::map<int,wxString>::iterator Iter = BusinessList->begin();
Iter != BusinessList->end();
}
+}
+
+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