Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Capitalise Bitmaps and Tools directories
[xestiaab/.git] / source / import / frmImportContacts.cpp
index 9031a3a..e6d4a01 100644 (file)
@@ -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 <http://www.gnu.org/licenses/>
+
 #include <wx/icon.h>
 #include <wx/mstream.h>
 
 #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<int,ImportDataContact>* 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<int,ImportDataContact>::iterator iter = ContactDataInc->begin();
+       for (std::map<int,ImportDataContact>::iterator iter = ContactDataInc->begin();
                iter != ContactDataInc->end(); iter++){
 
                ImportDataContact *Moo = &iter->second;
@@ -169,7 +193,7 @@ void frmImportContacts::SetupList(std::map<int,ImportDataContact>* 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<int, wxString>::iterator AccTypeIter = AccountAccTypeList.find(i);
+                       
+                       AccountType = AccTypeIter->second;
+       
+               }
+       
+
+       }
+       
+       return AccountType;
+
+}
+
+bool frmImportContacts::GetDialogResult(){
+
+       return DialogResult;
+
+}
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy