X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fcontacteditor%2FfrmContactEditorGroups.cpp;h=01cd5005ef56d8026e3ed7f739f63047ae235f68;hb=76214fdd5e820c60a468a62fa586749102310f21;hp=46a825335c1255f46fc9f9fb4e9545d9cb0e44d2;hpb=45729fca56479bd9158486e0cda0c4a94b4dd1dc;p=xestiaab%2F.git
diff --git a/source/contacteditor/frmContactEditorGroups.cpp b/source/contacteditor/frmContactEditorGroups.cpp
index 46a8253..01cd500 100755
--- a/source/contacteditor/frmContactEditorGroups.cpp
+++ b/source/contacteditor/frmContactEditorGroups.cpp
@@ -1,13 +1,35 @@
+// frmContactEditorGroups.cpp - frmContactEditorGroups 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 "frmContactEditorGroups.h"
#include
#include
#include "../vcard/vcard.h"
#include "../common/dirs.h"
+#include "../frmMain.h"
frmContactEditorGroup::frmContactEditorGroup( wxWindow* parent )
:
frmContactEditorGroupsADT( parent )
{
+
+ // Setup the window.
+
EditorMode = FALSE;
}
@@ -18,158 +40,156 @@ void frmContactEditorGroup::FetchContacts( wxInitDialogEvent& event )
// Ignore contacts which have KIND:group set.
- wxString AccountDirFinal = GetAccountDir(AccName, FALSE);
+ wxString AccountDirFinal = GetAccountDir(AccName, FALSE);
- //wxString vcardfilenamewxs;
- wxString vCardFilename;
- wxString vCardFilenameFull;
- wxString vCardDataString;
- //wxStringTokenizer vcardfileline;
- wxString lwxs;
- wxString setname, setvalue;
- //vCardNames = new std::map>;
- std::multimap> vCardNamesAsc;
- std::multimap> vCardNamesDsc;
- int ContactIndex = 0;
+ wxString vCardFilename;
+ wxString vCardFilenameFull;
+ wxString vCardDataString;
+ wxString lwxs;
+ wxString setname, setvalue;
+ std::multimap> vCardNamesAsc;
+ std::multimap> vCardNamesDsc;
+ int ContactIndex = 0;
- wxDir vcardaccdir(AccountDirFinal);
+ wxDir vcardaccdir(AccountDirFinal);
- bool ProcFiles = vcardaccdir.GetFirst(&vCardFilename, wxEmptyString, wxDIR_FILES);
- while(ProcFiles){
+ bool ProcFiles = vcardaccdir.GetFirst(&vCardFilename, wxEmptyString, wxDIR_FILES);
+ while(ProcFiles){
- if (vCardFilename.Right(4) == wxT(".vcf") ||
- vCardFilename.Right(4) == wxT(".VCF") ||
- vCardFilename.Right(5) == wxT(".vcard") ||
- vCardFilename.Right(5) == wxT(".VCARD")){
+ if (vCardFilename.Right(4) == wxT(".vcf") ||
+ vCardFilename.Right(4) == wxT(".VCF") ||
+ vCardFilename.Right(5) == wxT(".vcard") ||
+ vCardFilename.Right(5) == wxT(".VCARD")){
- vCard Person;
+ vCard Person;
- vCardFilenameFull.Append(AccountDirFinal);
- vCardFilenameFull.Append(wxT("/"));
- vCardFilenameFull.Append(vCardFilename);
+ vCardFilenameFull.Append(AccountDirFinal);
+ vCardFilenameFull.Append(wxT("/"));
+ vCardFilenameFull.Append(vCardFilename);
- Person.LoadFile(vCardFilenameFull);
+ Person.LoadFile(vCardFilenameFull);
- if (Person.MeetBaseSpecification()){
+ if (Person.MeetBaseSpecification()){
- wxString KindStatus = Person.Get(wxT("KIND"));
+ wxString KindStatus = Person.Get(wxT("KIND"));
- if (KindStatus == wxT("group")){
+ if (KindStatus == wxT("group")){
- vCardFilename.Clear();
- vCardFilenameFull.Clear();
- vCardDataString.Clear();
- ProcFiles = vcardaccdir.GetNext(&vCardFilename);
- continue;
-
- }
+ vCardFilename.Clear();
+ vCardFilenameFull.Clear();
+ vCardDataString.Clear();
+ ProcFiles = vcardaccdir.GetNext(&vCardFilename);
+ continue;
- wxString PersonName = Person.Get(wxT("N"));
- wxString PersonUID = Person.Get(wxT("UID"));
- wxString PersonFilename = vCardFilenameFull;
+ }
- ContactData PersonData;
+ wxString PersonName = Person.Get(wxT("N"));
+ wxString PersonUID = Person.Get(wxT("UID"));
+ wxString PersonFilename = vCardFilenameFull;
- PersonData.ContactName = PersonName;
- PersonData.ContactUID = PersonUID;
- PersonData.ContactFilename = PersonFilename;
+ ContactData PersonData;
- //ContactsNames.insert(std::make_pair(PersonName, ContactIndex));
- //ContactsUIDs.insert(std::make_pair(ContactIndex, PersonUID));
+ PersonData.ContactName = PersonName;
+ PersonData.ContactUID = PersonUID;
+ PersonData.ContactFilename = PersonFilename;
- if (XVMData.SortMode == 1){
+ if (XVMData.SortMode == 1){
- // Split the name into sections.
+ // Split the name into sections.
- vCardDataString = Person.Get(wxT("N"));
+ vCardDataString = Person.Get(wxT("N"));
- vCardName NameData = Person.GetName();
+ vCardName NameData = Person.GetName();
- vCardDataString = NameData.Forename + wxT(" ") + NameData.Surname;
+ vCardDataString = NameData.Forename + wxT(" ") + NameData.Surname;
- } else if (XVMData.SortMode == 2){
+ } else if (XVMData.SortMode == 2){
- // Split the name into sections.
+ // Split the name into sections.
- vCardName NameData = Person.GetName();
+ vCardName NameData = Person.GetName();
- vCardDataString = NameData.Surname + wxT(", ") + NameData.Forename;
+ vCardDataString = NameData.Surname + wxT(", ") + NameData.Forename;
- } else if (XVMData.SortMode == 3){
+ } else if (XVMData.SortMode == 3){
- // Check and make sure that the top most nickname is used.
+ // Check and make sure that the top most nickname is used.
- vCardDataString = Person.Get(wxT("NICKNAME"));
+ vCardDataString = Person.Get(wxT("NICKNAME"));
- if (vCardDataString.IsEmpty()){
+ if (vCardDataString.IsEmpty()){
- vCardDataString = wxT("(no nickname)");
+ vCardDataString = wxT("(no nickname)");
- }
+ }
- } else if (XVMData.SortMode == 4){
+ } else if (XVMData.SortMode == 4){
- vCardDataString = Person.Get(wxT("FN"));
+ vCardDataString = Person.Get(wxT("FN"));
- }
+ }
- if (XVMData.AscendingMode == TRUE){
- vCardNamesAsc.insert(std::make_pair(vCardDataString, PersonData));
- } else {
- vCardNamesDsc.insert(std::make_pair(vCardDataString, PersonData));
- }
+ if (XVMData.AscendingMode == TRUE){
+
+ vCardNamesAsc.insert(std::make_pair(vCardDataString, PersonData));
+
+ } else {
+
+ vCardNamesDsc.insert(std::make_pair(vCardDataString, PersonData));
+
+ }
- } else {
+ } else {
- }
-
+ }
+ }
- }
-
- vCardFilename.Clear();
- vCardFilenameFull.Clear();
- vCardDataString.Clear();
- ProcFiles = vcardaccdir.GetNext(&vCardFilename);
+ vCardFilename.Clear();
+ vCardFilenameFull.Clear();
+ vCardDataString.Clear();
+ ProcFiles = vcardaccdir.GetNext(&vCardFilename);
- }
+ }
- if (XVMData.AscendingMode == TRUE){
+ if (XVMData.AscendingMode == TRUE){
- for (std::map::iterator iter = vCardNamesAsc.begin();
- iter != vCardNamesAsc.end(); ++iter){
+ for (std::map::iterator iter = vCardNamesAsc.begin();
+ iter != vCardNamesAsc.end(); ++iter){
- chkContacts->InsertItems(1, &iter->first, 0);
+ chkContacts->InsertItems(1, &iter->first, 0);
- ContactNamesData.insert(std::make_pair(ContactIndex, iter->second));
+ ContactNamesData.insert(std::make_pair(ContactIndex, iter->second));
- ContactIndex++;
+ ContactIndex++;
- }
+ }
- } else {
+ } else {
- ContactIndex = vCardNamesDsc.size() - 1;
+ ContactIndex = (int)(vCardNamesDsc.size() - 1);
- for (std::map::iterator iter = vCardNamesDsc.begin();
- iter != vCardNamesDsc.end(); ++iter){
+ for (std::map::iterator iter = vCardNamesDsc.begin();
+ iter != vCardNamesDsc.end(); ++iter){
- chkContacts->InsertItems(1, &iter->first, 0);
+ chkContacts->InsertItems(1, &iter->first, 0);
- ContactNamesData.insert(std::make_pair(ContactIndex, iter->second));
-
- ContactIndex--;
+ ContactNamesData.insert(std::make_pair(ContactIndex, iter->second));
+
+ ContactIndex--;
- }
+ }
- }
+ }
}
void frmContactEditorGroup::ProcessData( wxCommandEvent& event )
{
+ // Process action.
+
for (int i = 0; i < chkContacts->GetCount(); i++){
if (chkContacts->IsChecked(i) == TRUE){
@@ -192,8 +212,6 @@ void frmContactEditorGroup::ProcessData( wxCommandEvent& event )
}
- std::map::iterator CDataIter = ContactNamesData.find(i);
-
wxListItem ItemData;
ItemData.SetId(0);
ItemData.SetText(chkContacts->GetString(i));
@@ -238,6 +256,8 @@ void frmContactEditorGroup::SetupPointers(std::map *GroupsList,
int GroupIndex)
{
+ // Setup the pointers.
+
GroupsListCtrlPtr = GroupsListCtrl;
GroupsListPtr = GroupsList;
AccName = AccountName;
@@ -248,6 +268,8 @@ void frmContactEditorGroup::SetupPointers(std::map *GroupsList,
void frmContactEditorGroup::SetEditorMode(bool EditMode, XABViewMode XVMIn)
{
+ // Setup the editor mode.
+
EditorMode = EditMode;
XVMData = XVMIn;
@@ -258,5 +280,9 @@ void frmContactEditorGroup::SetEditorMode(bool EditMode, XABViewMode XVMIn)
void frmContactEditorGroup::CloseWindow( wxCommandEvent& event )
{
+
+ // Close this window.
+
this->Close();
+
}