- AccountSyncTimers.clear();
-
- /*
- for (int i = (preferences.accounts.GetCount() - 1); i > 0; --i){
- treAccounts->AppendItem(RootNode, preferences.accounts.GetAccountName(i));
- }
- */
-
- wxString AccDir;
- wxString AccDirFull;
- wxString AccDirFullSfx;
- wxString AccName;
- wxString AccDirFinal;
- AccountAccDirList.clear();
- AccountGroupList.clear();
- AccountGroupFilename.clear();
- AccountGroupTreeId.clear();
- wxTreeItemId AccountTreeId;
- wxTreeItemId GroupTreeId;
- int intGroupID = 0;
-
- for (int i = 0; i < preferences.accounts.GetCount(); i++){
-
- if ((preferences.accounts.GetAccountType(i) == wxT("Local") ||
- preferences.accounts.GetAccountType(i) == wxT("local")) && HideLocalABs == TRUE){
-
- continue;
-
- }
-
- AccDir = preferences.accounts.GetAccountDirectory(i);
- AccDirFull = preferences.accounts.GetAccountDirectory(i);
- AccDirFull.Trim();
- AccDirFull.Append(wxT("."));
- AccDirFullSfx.Append(preferences.accounts.GetAccountType(i));
- AccDirFullSfx.LowerCase();
- AccDirFullSfx.Trim();
- AccDirFull.Append(AccDirFullSfx);
- AccName = preferences.accounts.GetAccountName(i);
- AccName.Trim();
- AccountAccDirList.insert(std::make_pair(i, AccDirFull));
-
- if (preferences.accounts.GetAccountType(i) == wxT("CardDAV") ||
- preferences.accounts.GetAccountType(i) == wxT("carddav")){
-
- // Add a new timer using the existing account details.
-
- wxAccountSyncTimer *ActTmrPtr = new wxAccountSyncTimer;
-
- ActTmrPtr->SetupData(AccDirFull, AccName);
- ActTmrPtr->SetupPointers(this, ActMgrPtr, ETagProcTimer.GetPointer(AccDirFull));
- ActTmrPtr->Start(preferences.accounts.GetAccountRefresh(i) * 1000);
- ActTmrPtr->SetOwner(this);
- ActTmrPtr->Notify();
-
- // Add the timer to the list of timers.
-
- AccountSyncTimers.insert(std::make_pair(AccDirFull, ActTmrPtr));
-
- AccountTreeId = treAccounts->AppendItem(RootNode, preferences.accounts.GetAccountName(i), AccountNetID, -1);
-
- } else {
-
- AccountTreeId = treAccounts->AppendItem(RootNode, preferences.accounts.GetAccountName(i), AccountID, -1);
-
- }
-
- // Go through the account directory and find contact files with
- // 'KIND:group' set and add them to the list of groups for the account.
-
- AccDirFinal = GetAccountDir(AccDirFull, FALSE);
-
- wxDir vcardaccdir(AccDirFinal);
-
- wxString vCardFilename;
- wxString vCardDataString;
- wxString vCardFilenameFull;
- //bool ProcFiles = FALSE;
-
- bool ProcFiles = vcardaccdir.GetFirst(&vCardFilename, wxEmptyString, wxDIR_FILES);
- while(ProcFiles){
-
- if (vCardFilename.Right(4) == wxT(".vcf") ||
- vCardFilename.Right(4) == wxT(".VCF") ||
- vCardFilename.Right(5) == wxT(".vcard") ||
- vCardFilename.Right(5) == wxT(".VCARD")){
-
- vCard Person;
-
- vCardFilenameFull.Append(AccDirFinal);
- vCardFilenameFull.Append(wxT("/"));
- vCardFilenameFull.Append(vCardFilename);
-
- Person.LoadFile(vCardFilenameFull);
-
- if (Person.MeetBaseSpecification()){