Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
ad2c5d461f41822ae4942e5f2da86d4828528dd0
[xestiaab/.git] / source / search / frmSearchAccounts.cpp
1 // frmSearchAccounts.cpp - frmSearchAccounts form.
2 //
3 // (c) 2012-2015 Xestia Software Development.
4 //
5 // This file is part of Xestia Address Book.
6 //
7 // Xestia Address Book is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by the
9 // Free Software Foundation, version 3 of the license.
10 //
11 // Xestia Address Book is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
15 //
16 // You should have received a copy of the GNU General Public License along
17 // with Xestia Address Book. If not, see <http://www.gnu.org/licenses/>
19 #include "frmSearchAccounts.h"
20 #include "../frmMain.h"
22 frmSearchAccounts::frmSearchAccounts( wxWindow* parent )
23 :
24 frmSearchAccountsADT( parent )
25 {
27 }
29 frmSearchAccounts::~frmSearchAccounts(){        
31 }
33 void frmSearchAccounts::LoadSearchAccounts(std::map<wxString, bool> *SearchAccounts,
34         std::map<wxString, wxString> *SearchAccountsList)
35 {
37         // Load the list of accounts to the accounts list in the window.
38         
39         SAPtr = SearchAccounts;
40         SALPtr = SearchAccountsList;
41         std::map<wxString, wxString>::iterator SALiter;
42         wxString AccDir;
43         
44         // Load the search accounts into the Checklist.
45         
46         wxArrayString AccList;
47         
48         for (std::map<wxString, bool>::iterator iter = SAPtr->begin(); 
49                 iter != SAPtr->end(); ++iter){
50                 
51                 SALiter = SALPtr->find(iter->first);
52                 
53                 AccList.Add(SALiter->second, 1);
54                 
55         }
57         chlAccounts->Append(AccList);
58         //chlAccounts->SetSelection(wxNOT_FOUND);
60         // Check if each account is selected.
61         
62         for (int i = 0; i < chlAccounts->GetCount(); i++){
63         
64                 AccDir = chlAccounts->GetString(i);
65                 
66                 for (std::map<wxString, bool>::iterator iter = SAPtr->begin(); 
67                         iter != SAPtr->end(); ++iter){
68                 
69                         SALiter = SALPtr->find(iter->first);
71                         if (AccDir == SALiter->second){
72                         
73                                 chlAccounts->Check(i, iter->second);
74                         
75                         }
76                 
77                 }
78         
79         }
81 }
83 void frmSearchAccounts::UpdateSelectedAccounts( wxCommandEvent& event )
84 {
86         // Process each of the items in the Checklist box.
87         // Compare each with the ones in the std::map
88         // and adjust the bool value accordingly.
89         
90         wxString AccDir;
91         std::map<wxString, wxString>::iterator SALiter;
92         
93         for (int i = 0; i < chlAccounts->GetCount(); i++){
94         
95                 AccDir = chlAccounts->GetString(i);
96                 
97                 for (std::map<wxString, bool>::iterator iter = SAPtr->begin(); 
98                         iter != SAPtr->end(); ++iter){
99                 
100                         SALiter = SALPtr->find(iter->first);
102                         if (AccDir == SALiter->second){
103                         
104                                 iter->second = chlAccounts->IsChecked(i);
105                         
106                         }
107                 
108                 }
109         
110         }
111         
112         this->Close();
116 void frmSearchAccounts::CloseWindow( wxCommandEvent& event )
118         
119         // Close this window.
120         
121         this->Close();
122         
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