X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fimport%2FfrmImportContacts.cpp;h=ff0341c4eb1a76012714ecc77a468d95eef03a74;hb=4f4ef609869729894a13a7e37b6aa5ea0ddaa32b;hp=9031a3a96067ebdf32f08bbe2451811dc6408194;hpb=6e0015aee7d8f3ca7747c15157deb68a6f068271;p=xestiaab%2F.git
diff --git a/source/import/frmImportContacts.cpp b/source/import/frmImportContacts.cpp
index 9031a3a..ff0341c 100644
--- a/source/import/frmImportContacts.cpp
+++ b/source/import/frmImportContacts.cpp
@@ -1,3 +1,21 @@
+// 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
@@ -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;
+}
+
+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;
+
}
\ No newline at end of file