X-Git-Url: http://Server1/repobrowser/?p=xestiaab%2F.git;a=blobdiff_plain;f=source%2Fimport%2FfrmImportContacts.cpp;h=e6d4a010b4cf40fcff102e90b77547f5e89c525c;hp=9031a3a96067ebdf32f08bbe2451811dc6408194;hb=HEAD;hpb=6e0015aee7d8f3ca7747c15157deb68a6f068271 diff --git a/source/import/frmImportContacts.cpp b/source/import/frmImportContacts.cpp index 9031a3a..e6d4a01 100644 --- a/source/import/frmImportContacts.cpp +++ b/source/import/frmImportContacts.cpp @@ -1,10 +1,28 @@ +// frmImportContacts.cpp - frmImportContacts form. +// +// (c) 2012-2015 Xestia Software Development. +// +// This file is part of Xestia Address Book. +// +// Xestia Address Book is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by the +// Free Software Foundation, version 3 of the license. +// +// Xestia Address Book is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with Xestia Address Book. If not, see + #include #include #include "frmImportContacts.h" #include "import-struct.h" #include "../common/preferences.h" -#include "../bitmaps.h" +#include "../Bitmaps.h" #include "../vcard/vcard.h" #include "../common/dirs.h" @@ -46,83 +64,87 @@ frmImportContactsADT( parent ) treAccounts->AssignImageList(AccImgList); - // Load the preferences. + // Load the preferences. wxString preffilename = GetUserPrefDir(); - XABPreferences preferences(preffilename); + XABPreferences preferences(preffilename); - // Setup the main window position (if needed). + // Setup the main window position (if needed). - bool SaveWindowPos = preferences.GetBoolData(wxT("SaveWindowPosition")); - bool HideLocalABs = preferences.GetBoolData(wxT("HideLocalAddressBooks")); + bool SaveWindowPos = preferences.GetBoolData(wxT("SaveWindowPosition")); + bool HideLocalABs = preferences.GetBoolData(wxT("HideLocalAddressBooks")); - if (SaveWindowPos == TRUE){ + if (SaveWindowPos == TRUE){ - this->SetSize(preferences.GetMainWindowData()); + this->SetSize(preferences.GetMainWindowData()); - } + } - treAccounts->DeleteAllItems(); + treAccounts->DeleteAllItems(); - wxTreeItemId RootNode = treAccounts->AddRoot(wxT("Root Item")); - - /* - 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; - wxTreeItemId AccountTreeId; - wxTreeItemId GroupTreeId; - - for (int i = 0; i < preferences.accounts.GetCount(); i++){ + wxTreeItemId RootNode = treAccounts->AddRoot(wxT("Root Item")); + + wxString AccDir; + wxString AccDirFull; + wxString AccDirFullSfx; + wxString AccName; + wxString AccType; + wxString AccDirFinal; + wxTreeItemId AccountTreeId; + wxTreeItemId GroupTreeId; + + 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; + 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")){ - - AccountTreeId = treAccounts->AppendItem(RootNode, preferences.accounts.GetAccountName(i), AccountNetID, -1); - - } else { + 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(); + AccType = preferences.accounts.GetAccountType(i); + AccType.Trim(); + AccountAccDirList.insert(std::make_pair(i, AccDirFull)); + AccountAccTypeList.insert(std::make_pair(i, AccType)); + + if (preferences.accounts.GetAccountType(i) == wxT("CardDAV") || + preferences.accounts.GetAccountType(i) == wxT("carddav")){ + + AccountTreeId = treAccounts->AppendItem(RootNode, preferences.accounts.GetAccountName(i), AccountNetID, -1); + + } else { - AccountTreeId = treAccounts->AppendItem(RootNode, preferences.accounts.GetAccountName(i), AccountID, -1); + AccountTreeId = treAccounts->AppendItem(RootNode, preferences.accounts.GetAccountName(i), AccountID, -1); - } + } - // Clearup for next account. + // Clearup for next account. - AccDir.clear(); - AccDirFull.clear(); - AccDirFullSfx.clear(); - AccDirFinal.clear(); - AccName.clear(); + AccDir.clear(); + AccDirFull.clear(); + AccDirFullSfx.clear(); + AccDirFinal.clear(); + AccName.clear(); - } + } + + DialogResult = FALSE; + +} +frmImportContacts::~frmImportContacts() +{ + } void frmImportContacts::GetResult() @@ -137,22 +159,24 @@ void frmImportContacts::GetContacts() void frmImportContacts::CloseWindow( wxCommandEvent& event ) { + DialogResult = FALSE; this->Close(); } void frmImportContacts::ImportContacts( wxCommandEvent& event ) { + DialogResult = TRUE; this->Close(); } void frmImportContacts::SetupList(std::map* ContactDataInc) { - // Go through the list and setup each contact for the list. + // Go through the list and setup each contact for the list. - int Seek = 0; + int Seek = 0; - for (std::map::iterator iter = ContactDataInc->begin(); + for (std::map::iterator iter = ContactDataInc->begin(); iter != ContactDataInc->end(); iter++){ ImportDataContact *Moo = &iter->second; @@ -169,7 +193,7 @@ void frmImportContacts::SetupList(std::map* ContactDataIn Seek++; - } + } for (int i = 0; i < lstContacts->GetCount(); i++){ @@ -208,20 +232,22 @@ wxString frmImportContacts::GetAccount() wxString AccountName; - //XABPrefAccounts prefaccounts; - wxTreeItemIdValue cookie; wxTreeItemId next = treAccounts->GetRootItem(); - + wxTreeItemId selectedChild = treAccounts->GetSelection(); wxTreeItemId nextChild; for (int i = 0; i < preferences.accounts.GetCount(); i++){ if (!nextChild){ + nextChild = treAccounts->GetFirstChild(next, cookie); + } else { + nextChild = treAccounts->GetNextSibling(nextChild); + } if (nextChild == selectedChild){ @@ -232,9 +258,56 @@ wxString frmImportContacts::GetAccount() } - } return AccountName; -} \ No newline at end of file +} + +wxString frmImportContacts::GetAccountType() +{ + + wxString preffilename = GetUserPrefDir(); + + XABPreferences preferences(preffilename); + + wxString AccountType; + + wxTreeItemIdValue cookie; + wxTreeItemId next = treAccounts->GetRootItem(); + + wxTreeItemId selectedChild = treAccounts->GetSelection(); + wxTreeItemId nextChild; + + for (int i = 0; i < preferences.accounts.GetCount(); i++){ + + if (!nextChild){ + + nextChild = treAccounts->GetFirstChild(next, cookie); + + } else { + + nextChild = treAccounts->GetNextSibling(nextChild); + + } + + if (nextChild == selectedChild){ + + std::map::iterator AccTypeIter = AccountAccTypeList.find(i); + + AccountType = AccTypeIter->second; + + } + + + } + + return AccountType; + +} + +bool frmImportContacts::GetDialogResult(){ + + return DialogResult; + +}