From: Steve Brokenshire Date: Tue, 29 Dec 2015 01:12:39 +0000 (+0000) Subject: Implemented loading for TZ using ContactDataObject. X-Git-Tag: release-0.09~134 X-Git-Url: http://Server1/repobrowser/?p=xestiaab%2F.git;a=commitdiff_plain;h=77d83d8634baf045dc48cdcc699dd7cb64538edb Implemented loading for TZ using ContactDataObject. --- diff --git a/source/contacteditor/frmContactEditor-Load.cpp b/source/contacteditor/frmContactEditor-Load.cpp index 56e4b9f..c8e1362 100644 --- a/source/contacteditor/frmContactEditor-Load.cpp +++ b/source/contacteditor/frmContactEditor-Load.cpp @@ -185,6 +185,16 @@ bool frmContactEditor::LoadContact(wxString Filename){ &ContactEditorData.BusinessAddressListPref, &ADRCount); + // Process the timezone (TZ) (frmContactEditor-LoadTimeZone.cpp) + + LoadTimeZone(&ContactEditorData.GeneralTZList, + &ContactEditorData.GeneralTZListPref, + &ContactEditorData.HomeTZList, + &ContactEditorData.HomeTZListPref, + &ContactEditorData.BusinessTZList, + &ContactEditorData.BusinessTZListPref, + &TZCount); + for (std::map::iterator iter = ContactFileLines.begin(); iter != ContactFileLines.end(); ++iter){ @@ -334,13 +344,13 @@ bool frmContactEditor::LoadContact(wxString Filename){ LoadAnniversary(wxSPropertySeg1, wxSPropertySeg2, &AnniversaryProcessed); - }*/ else if (wxSProperty == wxT("TZ")){ + } else if (wxSProperty == wxT("TZ")){ // See frmContactEditor-LoadTimeZone.cpp LoadTimeZone(wxSPropertySeg1, wxSPropertySeg2, &TZCount); - }/* else if (wxSProperty == wxT("ADR")){ + } else if (wxSProperty == wxT("ADR")){ // See frmContactEditor-LoadAddress.cpp diff --git a/source/contacteditor/frmContactEditor-LoadTimeZone.cpp b/source/contacteditor/frmContactEditor-LoadTimeZone.cpp index 72ac89a..cab9f88 100644 --- a/source/contacteditor/frmContactEditor-LoadTimeZone.cpp +++ b/source/contacteditor/frmContactEditor-LoadTimeZone.cpp @@ -17,7 +17,91 @@ // with Xestia Address Book. If not, see #include "frmContactEditor.h" - + +void frmContactEditor::LoadTimeZone(std::map *GeneralTZListPtr, + std::map *GeneralTZListPrefPtr, + std::map *HomeTZListPtr, + std::map *HomeTZListPrefPtr, + std::map *BusinessTZListPtr, + std::map *BusinessTZListPrefPtr, + int *TZCount){ + + long ListCtrlIndex = -1; + + // Deal with the general addresses. + + for (std::map::iterator Iter = GeneralTZListPtr->begin(); + Iter != GeneralTZListPtr->end(); + Iter++){ + + wxListItem coldata; + + coldata.SetId(*TZCount); + coldata.SetData(*TZCount); + coldata.SetText(Iter->second); + + ListCtrlIndex = lboTimezones->InsertItem(coldata); + + if (MapDataExists(TZCount, GeneralTZListPrefPtr)){ + + lboTimezones->SetItem(ListCtrlIndex, 1, wxString::Format("%i", GeneralTZListPrefPtr->find(*TZCount)->second)); + + } + + (*TZCount)++; + + } + + // Deal with the home addresses. + + for (std::map::iterator Iter = HomeTZListPtr->begin(); + Iter != HomeTZListPtr->end(); + Iter++){ + + wxListItem coldata; + + coldata.SetId(*TZCount); + coldata.SetData(*TZCount); + coldata.SetText(Iter->second); + + ListCtrlIndex = lboHomeTimezones->InsertItem(coldata); + + if (MapDataExists(TZCount, HomeTZListPrefPtr)){ + + lboHomeTimezones->SetItem(ListCtrlIndex, 1, wxString::Format("%i", HomeTZListPrefPtr->find(*TZCount)->second)); + + } + + (*TZCount)++; + + } + + // Deal with the work addresses. + + for (std::map::iterator Iter = BusinessTZListPtr->begin(); + Iter != BusinessTZListPtr->end(); + Iter++){ + + wxListItem coldata; + + coldata.SetId(*TZCount); + coldata.SetData(*TZCount); + coldata.SetText(Iter->second); + + ListCtrlIndex = lboBusinessTimezones->InsertItem(coldata); + + if (MapDataExists(TZCount, BusinessTZListPrefPtr)){ + + lboBusinessTimezones->SetItem(ListCtrlIndex, 1, wxString::Format("%i", BusinessTZListPrefPtr->find(*TZCount)->second)); + + } + + (*TZCount)++; + + } + +} + void frmContactEditor::LoadTimeZone(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *TZCount){ size_t intPropertyLen = wxSPropertySeg1.Len(); diff --git a/source/contacteditor/frmContactEditor.h b/source/contacteditor/frmContactEditor.h index 8c05165..e5ceb88 100644 --- a/source/contacteditor/frmContactEditor.h +++ b/source/contacteditor/frmContactEditor.h @@ -663,6 +663,13 @@ class frmContactEditor : public frmContactEditorADT std::map *BusinessAddressListPostCode, std::map *BusinessAddressListPref, int *AddressCount); + void LoadTimeZone(std::map *GeneralTZListPtr, + std::map *GeneralTZListPrefPtr, + std::map *HomeTZListPtr, + std::map *HomeTZListPrefPtr, + std::map *BusinessTZListPtr, + std::map *BusinessTZListPrefPtr, + int *TZCount); int intValueSeek = 1; bool IsGroup = FALSE;