Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Removed unused variable from the Import Contacts.
[xestiaab/.git] / source / import / frmImportContacts.cpp
1 #include <wx/icon.h>
2 #include <wx/mstream.h>
4 #include "frmImportContacts.h"
5 #include "import-struct.h"
6 #include "../common/preferences.h"
7 #include "../bitmaps.h"
8 #include "../vcard/vcard.h"
9 #include "../common/dirs.h"
11 frmImportContacts::frmImportContacts( wxWindow* parent )
12 :
13 frmImportContactsADT( parent )
14 {
16         // Setup the account selection control.
17         
18         AccControl->SetPopupMaxHeight(175);
19         AccControl->SetPopupControl(treAccounts);
20         
21         szrAccount->Insert(1, AccControl, 1, wxEXPAND, 5);
22         szrAccount->Layout();
24         wxMemoryInputStream astream(icons_accinet_png, sizeof(icons_accinet_png));
25         wxMemoryInputStream bstream(icons_acclocal_png, sizeof(icons_acclocal_png));
26         wxMemoryInputStream cstream(icons_accgroup_png, sizeof(icons_accgroup_png));
28         wxImage icons_accinet_png(astream, wxBITMAP_TYPE_PNG);
29         wxBitmap AccInet(icons_accinet_png, -1);
30         wxIcon wxIAccInet;
31         wxIAccInet.CopyFromBitmap(AccInet);
33         wxImage icons_acclocal_png(bstream, wxBITMAP_TYPE_PNG);
34         wxBitmap AccNIcon(icons_acclocal_png, -1);
35         wxIcon wxIAccNIcon;
36         wxIAccNIcon.CopyFromBitmap(AccNIcon);
38         wxImage icons_accgroup_png(cstream, wxBITMAP_TYPE_PNG);
39         wxBitmap AccGrp(icons_accgroup_png, -1);
40         wxIcon wxIAccGrp;
41         wxIAccGrp.CopyFromBitmap(AccGrp);
42         
43         AccountID = AccImgList->Add(wxIAccNIcon);
44         AccountNetID = AccImgList->Add(wxIAccInet);
45         AccountGrpID = AccImgList->Add(wxIAccGrp);
46         
47         treAccounts->AssignImageList(AccImgList);
49     // Load the preferences.
50     
51         wxString preffilename = GetUserPrefDir();
52     
53     XABPreferences preferences(preffilename);
55     // Setup the main window position (if needed).
56     
57     bool SaveWindowPos = preferences.GetBoolData(wxT("SaveWindowPosition"));
58     bool HideLocalABs = preferences.GetBoolData(wxT("HideLocalAddressBooks"));
59     
60     if (SaveWindowPos == TRUE){
61     
62         this->SetSize(preferences.GetMainWindowData());
63     
64     }
65     
66     treAccounts->DeleteAllItems();
67     
68     wxTreeItemId RootNode = treAccounts->AddRoot(wxT("Root Item"));
70     /*    
71     for (int i = (preferences.accounts.GetCount() - 1); i > 0; --i){
72         treAccounts->AppendItem(RootNode, preferences.accounts.GetAccountName(i));
73     }
74     */
76     wxString AccDir;
77     wxString AccDirFull;
78     wxString AccDirFullSfx;
79     wxString AccName;
80     wxString AccDirFinal;
81     wxTreeItemId AccountTreeId;
82     wxTreeItemId GroupTreeId;
84     for (int i = 0; i < preferences.accounts.GetCount(); i++){
85     
86         if ((preferences.accounts.GetAccountType(i) == wxT("Local") || 
87                 preferences.accounts.GetAccountType(i) == wxT("local")) && HideLocalABs == TRUE){
88                 
89                 continue;
90                 
91         }
92     
93         AccDir = preferences.accounts.GetAccountDirectory(i);
94         AccDirFull = preferences.accounts.GetAccountDirectory(i);
95         AccDirFull.Trim();
96         AccDirFull.Append(wxT("."));
97         AccDirFullSfx.Append(preferences.accounts.GetAccountType(i));
98         AccDirFullSfx.LowerCase();
99         AccDirFullSfx.Trim();
100         AccDirFull.Append(AccDirFullSfx);
101         AccName = preferences.accounts.GetAccountName(i);
102         AccName.Trim();
103         AccountAccDirList.insert(std::make_pair(i, AccDirFull));
104         
105         if (preferences.accounts.GetAccountType(i) == wxT("CardDAV") ||
106         preferences.accounts.GetAccountType(i) == wxT("carddav")){
107         
108                 AccountTreeId = treAccounts->AppendItem(RootNode, preferences.accounts.GetAccountName(i), AccountNetID, -1);
109         
110         } else {
111                 
112                 AccountTreeId = treAccounts->AppendItem(RootNode, preferences.accounts.GetAccountName(i), AccountID, -1);
113         
114         }
115         
116         // Clearup for next account.
117         
118         AccDir.clear();
119         AccDirFull.clear();
120         AccDirFullSfx.clear();
121         AccDirFinal.clear();
122         AccName.clear();
123         
124     }
128 void frmImportContacts::GetResult()
133 void frmImportContacts::GetContacts()
138 void frmImportContacts::CloseWindow( wxCommandEvent& event )
140         this->Close();
143 void frmImportContacts::ImportContacts( wxCommandEvent& event )
145         this->Close();
148 void frmImportContacts::SetupList(std::map<int,ImportDataContact>* ContactDataInc)
150          
151          // Go through the list and setup each contact for the list.
152          
153          int Seek = 0;
154          
155          for (std::map<int,ImportDataContact>::iterator iter = ContactDataInc->begin();
156                 iter != ContactDataInc->end(); iter++){
158                 ImportDataContact *Moo = &iter->second;
159          
160                 vCard ContactLoad;
161                 ContactLoad.LoadString(Moo->ContactData);
163                 // Alter the data on this. (FN instead of Name?)
165                 wxString ContactName = ContactLoad.Get(wxT("FN"));
166                 iter->second.FriendlyName = ContactName;
168                 lstContacts->InsertItems(1, &ContactName, Seek);
169          
170                 Seek++;
171          
172          }
174         for (int i = 0; i < lstContacts->GetCount(); i++){
175         
176                 lstContacts->Check(i, TRUE);
177         
178         }
179          
182 void frmImportContacts::GetResults(std::map<int,ImportDataContact>* ContactDataInc)
184         
185         int ItemIndex = 0;
186                 
187         for (std::map<int, ImportDataContact>::iterator DataIter = ContactDataInc->begin(); 
188                 DataIter != ContactDataInc->end(); ++DataIter){
190                 if (lstContacts->IsChecked(ItemIndex) == FALSE){
192                         DataIter->second.ContactSelected = FALSE;
194                 }
195                 
196                 ItemIndex++;
197         
198         }
202 wxString frmImportContacts::GetAccount()
205         wxString preffilename = GetUserPrefDir();
207         XABPreferences preferences(preffilename);
209         wxString AccountName;
210         
211         //XABPrefAccounts prefaccounts;
212         
213         wxTreeItemIdValue cookie;
214         wxTreeItemId next = treAccounts->GetRootItem();
216         wxTreeItemId selectedChild = treAccounts->GetSelection();
217         wxTreeItemId nextChild;
219         for (int i = 0; i < preferences.accounts.GetCount(); i++){
221                 if (!nextChild){
222                         nextChild = treAccounts->GetFirstChild(next, cookie);
223                 } else {
224                         nextChild = treAccounts->GetNextSibling(nextChild);
225                 }
226                 
227                 if (nextChild == selectedChild){
228         
229                         std::map<int, wxString>::iterator AccNameIter = AccountAccDirList.find(i);
230                         
231                         AccountName = AccNameIter->second;
232         
233                 }
234         
236         }
237         
238         return AccountName;
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