X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fcontacteditor%2FfrmContactEditor-Load.cpp;h=d6f47ea5e803af9dec07139465c5b63ed53c57fa;hb=2b6a6878b89192f2d951511d6936d564fd8baf46;hp=7e35538f97ca691d3cee32cf4707d683e1c8be8e;hpb=6aea74e8b371da97bfc7d8e102e6b9a72767c875;p=xestiaab%2F.git diff --git a/source/contacteditor/frmContactEditor-Load.cpp b/source/contacteditor/frmContactEditor-Load.cpp index 7e35538..d6f47ea 100644 --- a/source/contacteditor/frmContactEditor-Load.cpp +++ b/source/contacteditor/frmContactEditor-Load.cpp @@ -275,6 +275,52 @@ bool frmContactEditor::LoadContact(wxString Filename){ &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::iterator iter = ContactFileLines.begin(); iter != ContactFileLines.end(); ++iter){ @@ -485,7 +531,7 @@ bool frmContactEditor::LoadContact(wxString Filename){ LoadTitle(wxSPropertySeg1, wxSPropertySeg2, &TitleCount); - }*/ else if (wxSProperty == wxT("ROLE")) { + } else if (wxSProperty == wxT("ROLE")) { // See frmContactEditor-LoadRole.cpp @@ -509,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 @@ -713,7 +759,7 @@ void frmContactEditor::LoadData(std::map *GeneralList, long ListCtrlIndex = -1; - // Deal with the general addresses. + // Deal with the general items. for (std::map::iterator Iter = GeneralList->begin(); Iter != GeneralList->end(); @@ -737,7 +783,7 @@ void frmContactEditor::LoadData(std::map *GeneralList, } - // Deal with the home addresses. + // Deal with the home items. for (std::map::iterator Iter = HomeList->begin(); Iter != HomeList->end(); @@ -761,7 +807,7 @@ void frmContactEditor::LoadData(std::map *GeneralList, } - // Deal with the work addresses. + // Deal with the work items. for (std::map::iterator Iter = BusinessList->begin(); Iter != BusinessList->end(); @@ -785,4 +831,35 @@ void frmContactEditor::LoadData(std::map *GeneralList, } +} + +void frmContactEditor::LoadData(std::map *ItemList, + std::map *ItemListPref, + wxListCtrl *ItemCtrl, + int *DataCount){ + + long ListCtrlIndex = -1; + + for (std::map::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