Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
frmContactEditor: Check save was successful before closing
[xestiaab/.git] / source / contacteditor / frmContactEditor.h
index 8c05165..dbad355 100644 (file)
@@ -1,6 +1,6 @@
 // frmContactEditor.h - frmContactEditor form header.
 //
-// (c) 2012-2015 Xestia Software Development.
+// (c) 2012-2016 Xestia Software Development.
 //
 // This file is part of Xestia Address Book.
 //
@@ -39,6 +39,7 @@ Subclass of frmContactEditorADT, which is generated by wxFormBuilder.
 
 #include "../actmgr/frmActivityMgr.h"
 #include "../frmMain.h"
+#include "frmContactEditorSound.h"
 
 #include "cdo/ContactDataObject.h"
 
@@ -311,8 +312,10 @@ class frmContactEditor : public frmContactEditorADT
        public:
                /** Constructor */
                frmContactEditor( wxWindow* parent );
+               ~frmContactEditor();
                void SetupHeaders();
                void SetupContact(wxString AccountName);
+               void SetupAccountData(bool UnsupportedAccount);
                void SetupPointers(frmActivityMgr *ActMgr, wxETagProcessTimer *ETagProc,
                                        frmMain *MainPtrInc);
                bool LoadContact(wxString Filename);
@@ -402,6 +405,7 @@ class frmContactEditor : public frmContactEditorADT
                        ProcessSaveDataB(args...);
                        
                        std::map<int,wxString>::iterator strIter;
+                       std::map<int,wxString>::iterator strDataTypeIter;
                        wxString strMainValue;
                        
                        int intSeekData = (*iterDataStringPtr)->first;
@@ -603,50 +607,15 @@ class frmContactEditor : public frmContactEditorADT
                void ResetSaveProcessData();
                void ContactFileChanged( wxCommandEvent &event );
                void ClearContact();
-               
-               /* Functions for loading contacts */
-               void LoadKind(wxString KindType);
-               void LoadMember(wxString MemberData, int *GroupCount);
-               void LoadFN(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *FNCount, 
-                       bool *FNProcessed, vCard *ContactData);
-               void LoadN(wxString wxSPropertySeg1, wxString wxSPropertySeg2, bool *NameProcessed, 
-                       vCard *ContactData);
-               void LoadNickname(wxString wxSpropertySeg1, wxString wxSPropertySeg2, 
-                       int *NicknameCount, vCard *ContactData);
-               void LoadGender(wxString wxSPropertySeg1, wxString wxSPropertySeg2, bool *GenderProcessed, 
-                       vCard *ContactData);
-               void LoadBDay(wxString wxSPropertySeg1, wxString wxSPropertySeg2, bool *BirthdayProcessed);
-               void LoadAnniversary(wxString wxSPropertySeg1, wxString wxSPropertySeg2, bool *AnniversaryProcessed);
-               void LoadTimeZone(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *TZCount);
-               void LoadADR(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *ADRCount);
-               void LoadEmail(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *ADRCount);
-               void LoadIM(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *IMPPCount);
-               void LoadTelephone(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *TelCount);
-               void LoadLanguage(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *LangCount);
-               void LoadGeo(wxString wxSProptertySeg1, wxString wxSPropertySeg2, int *GeoCount);
-               void LoadRelated(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *RelatedCount);
-               void LoadURL(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *URLCount);
-               void LoadTitle(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *TitleCount);
-               void LoadRole(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *RoleCount);
-               void LoadOrg(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *OrgCount);
-               void LoadNote(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *NoteCount);
-               void LoadCategory(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *CategoryCount);
-               void LoadPhoto(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *PhotoCount);
-               void LoadLogo(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *PhotoCount);
-               void LoadSound(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *SoundCount);
-               void LoadCalURI(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *CalAdrCount);
-               void LoadCalAdrURI(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *CalReqAdrCount);
-               void LoadCalFreeBusy(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *FreeBusyCount);
-               void LoadKey(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *KeyCount);
-               
-               void LoadGender(wxString *GenderComponent, wxString *GenderIdentity);
+
+               void LoadKind(ContactKindType *KindType);
                void LoadBirthday(wxString *BirthdayData, bool *BirthdayText);
                void LoadAnniversary(wxString *AnniversaryData, bool *AnniversaryText);
-               void LoadKind(ContactKindType *KindType);
+               void LoadGender(wxString *GenderComponent, wxString *GenderIdentity);
                void LoadName(wxString *NameTitle, wxString *NameForename,
                        wxString *NameSurname, wxString *NameOtherNames, 
                        wxString *NameSuffix);
-               void LoadMember(std::map<int,wxString> *GroupsList);
+               void LoadMember(std::map<int,wxString> *GroupList);
                void LoadAddress(std::map<int, wxString> *GeneralAddressList,
                        std::map<int, wxString> *GeneralAddressListTown,
                        std::map<int, wxString> *GeneralAddressListCounty,
@@ -661,523 +630,92 @@ class frmContactEditor : public frmContactEditorADT
                        std::map<int, wxString> *BusinessAddressListTown,
                        std::map<int, wxString> *BusinessAddressListCounty,
                        std::map<int, wxString> *BusinessAddressListPostCode,
-                       std::map<int, int> *BusinessAddressListPref,
+                       std::map<int, int> *BusinessAddressListPref, 
                        int *AddressCount);
+               
+               void LoadData(std::map<int, wxString> *GeneralList,
+                       std::map<int, int> *GeneralListPref,
+                       wxListCtrl *GeneralListCtrl,
+                       std::map<int, wxString> *HomeList,
+                       std::map<int, int> *HomeListPref,
+                       wxListCtrl *HomeListCtrl,
+                       std::map<int, wxString> *BusinessList,
+                       std::map<int, int> *BusinessTZPref,
+                       wxListCtrl *BusinessListCtrl,
+                       int *DataCount);
+               
+               void LoadData(std::map<int, wxString> *GeneralList,
+                       std::map<int, int> *GeneralListPref,
+                       std::map<int, wxString> *GeneralListType,
+                       wxListCtrl *GeneralListCtrl,
+                       std::map<int, wxString> *HomeList,
+                       std::map<int, int> *HomeListPref,
+                       std::map<int, wxString> *HomeListType,
+                       wxListCtrl *HomeListCtrl,
+                       std::map<int, wxString> *BusinessList,
+                       std::map<int, int> *BusinessListPref,
+                       std::map<int, wxString> *BusinessListType,
+                       wxListCtrl *BusinessListCtrl,
+                       int *DataCount);
+               
+               void LoadData(std::map<int,wxString> *ItemList,
+                       std::map<int,int> *ItemListPref,
+                       wxListCtrl *ItemCtrl,
+                       int *DataCount);
+
+               void LoadData(std::map<int,wxString> *ItemList,
+                       std::map<int,int> *ItemListPref,
+                       std::map<int,wxString> *ItemListType,
+                       wxListCtrl *ItemCtrl,
+                       int *DataCount);
+       
+               void LoadData(wxString ItemName,
+                       std::map<int,wxString> *ItemList,
+                       std::map<int,int> *ItemListPref,
+                       std::map<int,wxString> *ItemListType,
+                       std::map<int,wxString> *ItemListDataType,
+                       wxListCtrl *ItemCtrl,
+                       int *DataCount);
+                       
+               void LoadPictureData(wxString ItemName, 
+                       std::map<int,std::string> *ItemList,
+                       std::map<int,int> *ItemListPref,
+                       std::map<int,wxString> *ItemListType,
+                       wxListCtrl *ItemCtrl,
+                       int *DataCount);
+                       
+               void LoadVendorData(std::map<int,wxString> *ItemListPEN,
+                       std::map<int,wxString> *ItemListElement,
+                       wxListCtrl *ItemCtrl,
+                       int *DataCount);
+
+               void LoadXTokenData(std::map<int,wxString> *ItemListTokens,
+                       wxListCtrl *ItemCtrl,
+                       int *DataCount);
+                       
+               void LoadData(std::map<int,wxString> *ItemList,
+                       wxComboBox *ItemCtrl);
+                       
+               void LoadRelatedData(std::map<int,wxString> *ItemList,
+                       std::map<int,int> *ItemListPref,
+                       std::map<int,wxString> *ItemListType,
+                       wxListCtrl *ItemCtrl,
+                       int *DataCount);
        
                int intValueSeek = 1;
                bool IsGroup = FALSE;
        
                /* Items on General Tab */
        
-               ContactDataObject ContactEditorData;
-       
-               wxString NameTitle;
-               wxString NameForename;
-               wxString NameSurname;
-               wxString NameOtherNames;
-               wxString NameSuffix;
-               wxString NameNickname;
-               wxString NameDisplayAs;
-               wxString NameLanguage;
-               wxString NameAltID;
-               wxString NameTokens;
-               
-               wxString Birthday;
-               wxString BirthdayAltID;
-               wxString BirthdayCalScale;
-               wxString BirthdayTokens;
-               wxString Anniversary;
-               wxString AnniversaryAltID;
-               wxString AnniversaryCalScale;
-               wxString AnniversaryTokens;
-               
-               wxString Gender;
-               wxString GenderDetails;
-               wxString GenderTokens;
-               
-               wxString UIDToken;
-
-               /* We don't use these at the moment but we want to keep
-                 them for compatability reasons */
-
-               /*std::map<int, wxString> ExtraFullNames;*/
-               /*std::map<int, wxString> ExtraNicknames;*/
-       
-               std::map<int, wxString> FullNamesList;  
-               std::map<int, wxString> FullNamesListType;
-               std::map<int, wxString> FullNamesListLanguage;
-               std::map<int, wxString> FullNamesListAltID;
-               std::map<int, wxString> FullNamesListPID;
-               std::map<int, wxString> FullNamesListTokens;
-               std::map<int, int> FullNamesListPref;
-               
-               std::map<int, wxString> GeneralNicknamesList;
-               std::map<int, wxString> GeneralNicknamesListType;
-               std::map<int, wxString> GeneralNicknamesListLanguage;
-               std::map<int, wxString> GeneralNicknamesListAltID;
-               std::map<int, wxString> GeneralNicknamesListPID;
-               std::map<int, wxString> GeneralNicknamesListTokens;             
-               std::map<int, int> GeneralNicknamesListPref;            
-       
-               std::map<int, wxString> GeneralAddressList;
-               std::map<int, wxString> GeneralAddressListTown;
-               std::map<int, wxString> GeneralAddressListCounty;
-               std::map<int, wxString> GeneralAddressListPostCode;
-               std::map<int, wxString> GeneralAddressListCountry;
-               std::map<int, wxString> GeneralAddressListLabel;
-               std::map<int, wxString> GeneralAddressListLang;         
-               std::map<int, wxString> GeneralAddressListAltID;
-               std::map<int, wxString> GeneralAddressListPID;
-               std::map<int, wxString> GeneralAddressListTokens;
-               std::map<int, wxString> GeneralAddressListGeo;
-               std::map<int, wxString> GeneralAddressListTimezone;             
-               std::map<int, wxString> GeneralAddressListType;
-               std::map<int, wxString> GeneralAddressListMediatype;
-               std::map<int, int> GeneralAddressListPref;
-               
-               std::map<int, wxString> GeneralEmailList;
-               std::map<int, wxString> GeneralEmailListAltID;
-               std::map<int, wxString> GeneralEmailListPID;
-               std::map<int, wxString> GeneralEmailListType;
-               std::map<int, wxString> GeneralEmailListTokens;
-               std::map<int, int> GeneralEmailListPref;
-               
-               std::map<int, wxString> GeneralIMList;
-               std::map<int, wxString> GeneralIMListAltID;
-               std::map<int, wxString> GeneralIMListPID;
-               std::map<int, wxString> GeneralIMListType;
-               std::map<int, wxString> GeneralIMListTokens;
-               std::map<int, wxString> GeneralIMListMediatype;
-               std::map<int, int> GeneralIMListPref;
-               
-               std::map<int, wxString> GeneralTelephoneList;
-               std::map<int, wxString> GeneralTelephoneListAltID;
-               std::map<int, wxString> GeneralTelephoneListPID;
-               std::map<int, wxString> GeneralTelephoneListType;
-               std::map<int, wxString> GeneralTelephoneListTokens;
-               std::map<int, int> GeneralTelephoneListPref;
-               
-               std::map<int, wxString> GeneralLanguageList;
-               std::map<int, wxString> GeneralLanguageListAltID;
-               std::map<int, wxString> GeneralLanguageListPID;
-               std::map<int, wxString> GeneralLanguageListType;
-               std::map<int, wxString> GeneralLanguageListTokens;
-               std::map<int, int> GeneralLanguageListPref;
-               
-               std::map<int, wxString> GeneralTZList;
-               std::map<int, wxString> GeneralTZListAltID;
-               std::map<int, wxString> GeneralTZListPID;
-               std::map<int, wxString> GeneralTZListType;
-               std::map<int, wxString> GeneralTZListTokens;
-               std::map<int, wxString> GeneralTZListMediatype;
-               std::map<int, int> GeneralTZListPref;
-               
-               std::map<int, wxString> GeneralGeographyList;
-               std::map<int, wxString> GeneralGeographyListAltID;
-               std::map<int, wxString> GeneralGeographyListPID;
-               std::map<int, wxString> GeneralGeographyListType;
-               std::map<int, wxString> GeneralGeographyListTokens;
-               std::map<int, wxString> GeneralGeographyListMediatype;
-               std::map<int, int> GeneralGeographyListPref;
-       
-               std::map<int, wxString> GeneralRelatedList;
-               std::map<int, wxString> GeneralRelatedListRelType;
-               std::map<int, wxString> GeneralRelatedListLanguage;
-               std::map<int, wxString> GeneralRelatedListAltID;
-               std::map<int, wxString> GeneralRelatedListPID;
-               std::map<int, wxString> GeneralRelatedListType;
-               std::map<int, wxString> GeneralRelatedListTokens;
-               std::map<int, int> GeneralRelatedListPref;
-               
-               std::map<int, wxString> GeneralWebsiteList;
-               std::map<int, wxString> GeneralWebsiteListAltID;
-               std::map<int, wxString> GeneralWebsiteListPID;
-               std::map<int, wxString> GeneralWebsiteListType;
-               std::map<int, wxString> GeneralWebsiteListTokens;
-               std::map<int, wxString> GeneralWebsiteListMediatype;
-               std::map<int, int> GeneralWebsiteListPref;
-               
-               std::map<int, wxString> GeneralTitleList;
-               std::map<int, wxString> GeneralTitleListLanguage;               
-               std::map<int, wxString> GeneralTitleListAltID;
-               std::map<int, wxString> GeneralTitleListPID;
-               std::map<int, wxString> GeneralTitleListType;
-               std::map<int, wxString> GeneralTitleListTokens;
-               std::map<int, int> GeneralTitleListPref;
-               
-               std::map<int, wxString> GeneralRoleList;
-               std::map<int, wxString> GeneralRoleListLanguage;                
-               std::map<int, wxString> GeneralRoleListAltID;
-               std::map<int, wxString> GeneralRoleListPID;
-               std::map<int, wxString> GeneralRoleListType;
-               std::map<int, wxString> GeneralRoleListTokens;
-               std::map<int, int> GeneralRoleListPref;
-               
-               std::map<int, wxString> GeneralOrganisationsList;
-               std::map<int, wxString> GeneralOrganisationsListLanguage;               
-               std::map<int, wxString> GeneralOrganisationsListAltID;
-               std::map<int, wxString> GeneralOrganisationsListPID;
-               std::map<int, wxString> GeneralOrganisationsListType;
-               std::map<int, wxString> GeneralOrganisationsListTokens;
-               std::map<int, wxString> GeneralOrganisationsListSortAs;
-               std::map<int, int> GeneralOrganisationsListPref;
-       
-               std::map<int, wxString> GeneralNoteList;
-               std::map<int, wxString> GeneralNoteListLanguage;                
-               std::map<int, wxString> GeneralNoteListAltID;
-               std::map<int, wxString> GeneralNoteListPID;
-               std::map<int, wxString> GeneralNoteListType;
-               std::map<int, wxString> GeneralNoteListTokens;
-               std::map<int, int> GeneralNoteListPref;
-               
-               /* Items on Home Tab */         
-               
-               std::map<int, wxString> HomeNicknamesList;
-               std::map<int, wxString> HomeNicknamesListType;
-               std::map<int, wxString> HomeNicknamesListLanguage;
-               std::map<int, wxString> HomeNicknamesListAltID;
-               std::map<int, wxString> HomeNicknamesListPID;
-               std::map<int, wxString> HomeNicknamesListTokens;                
-               std::map<int, int> HomeNicknamesListPref;               
-               
-               std::map<int, wxString> HomeAddressList;
-               std::map<int, wxString> HomeAddressListTown;
-               std::map<int, wxString> HomeAddressListCounty;
-               std::map<int, wxString> HomeAddressListPostCode;
-               std::map<int, wxString> HomeAddressListCountry;
-               std::map<int, wxString> HomeAddressListLabel;
-               std::map<int, wxString> HomeAddressListLang;            
-               std::map<int, wxString> HomeAddressListAltID;
-               std::map<int, wxString> HomeAddressListPID;
-               std::map<int, wxString> HomeAddressListTokens;
-               std::map<int, wxString> HomeAddressListGeo;
-               std::map<int, wxString> HomeAddressListTimezone;                
-               std::map<int, wxString> HomeAddressListType;
-               std::map<int, wxString> HomeAddressListMediatype;
-               std::map<int, int> HomeAddressListPref;
-               
-               std::map<int, wxString> HomeEmailList;
-               std::map<int, wxString> HomeEmailListAltID;
-               std::map<int, wxString> HomeEmailListPID;
-               std::map<int, wxString> HomeEmailListType;
-               std::map<int, wxString> HomeEmailListTokens;
-               std::map<int, int> HomeEmailListPref;
-               
-               std::map<int, wxString> HomeIMList;
-               std::map<int, wxString> HomeIMListAltID;
-               std::map<int, wxString> HomeIMListPID;
-               std::map<int, wxString> HomeIMListType;
-               std::map<int, wxString> HomeIMListTokens;
-               std::map<int, wxString> HomeIMListMediatype;
-               std::map<int, int> HomeIMListPref;
-               
-               std::map<int, wxString> HomeTelephoneList;
-               std::map<int, wxString> HomeTelephoneListAltID;
-               std::map<int, wxString> HomeTelephoneListPID;
-               std::map<int, wxString> HomeTelephoneListType;
-               std::map<int, wxString> HomeTelephoneListTokens;
-               std::map<int, int> HomeTelephoneListPref;
-               
-               std::map<int, wxString> HomeLanguageList;
-               std::map<int, wxString> HomeLanguageListAltID;
-               std::map<int, wxString> HomeLanguageListPID;
-               std::map<int, wxString> HomeLanguageListType;
-               std::map<int, wxString> HomeLanguageListTokens;
-               std::map<int, int> HomeLanguageListPref;
-               
-               std::map<int, wxString> HomeTZList;
-               std::map<int, wxString> HomeTZListAltID;
-               std::map<int, wxString> HomeTZListPID;
-               std::map<int, wxString> HomeTZListType;
-               std::map<int, wxString> HomeTZListTokens;
-               std::map<int, wxString> HomeTZListMediatype;
-               std::map<int, int> HomeTZListPref;
-               
-               std::map<int, wxString> HomeGeographyList;
-               std::map<int, wxString> HomeGeographyListAltID;
-               std::map<int, wxString> HomeGeographyListPID;
-               std::map<int, wxString> HomeGeographyListType;
-               std::map<int, wxString> HomeGeographyListTokens;
-               std::map<int, wxString> HomeGeographyListMediatype;
-               std::map<int, int> HomeGeographyListPref;
-               
-               std::map<int, wxString> HomeRelatedList;
-               std::map<int, wxString> HomeRelatedListRelType;
-               std::map<int, wxString> HomeRelatedListLanguage;
-               std::map<int, wxString> HomeRelatedListAltID;
-               std::map<int, wxString> HomeRelatedListPID;
-               std::map<int, wxString> HomeRelatedListType;
-               std::map<int, wxString> HomeRelatedListTokens;
-               std::map<int, int> HomeRelatedListPref;         
-               
-               std::map<int, wxString> HomeWebsiteList;
-               std::map<int, wxString> HomeWebsiteListAltID;
-               std::map<int, wxString> HomeWebsiteListPID;
-               std::map<int, wxString> HomeWebsiteListType;
-               std::map<int, wxString> HomeWebsiteListTokens;
-               std::map<int, wxString> HomeWebsiteListMediatype;
-               std::map<int, int> HomeWebsiteListPref;
-               
-               std::map<int, wxString> HomeTitleList;
-               std::map<int, wxString> HomeTitleListLanguage;
-               std::map<int, wxString> HomeTitleListAltID;
-               std::map<int, wxString> HomeTitleListPID;
-               std::map<int, wxString> HomeTitleListType;
-               std::map<int, wxString> HomeTitleListTokens;
-               std::map<int, int> HomeTitleListPref;
-               
-               std::map<int, wxString> HomeRoleList;
-               std::map<int, wxString> HomeRoleListLanguage;           
-               std::map<int, wxString> HomeRoleListAltID;
-               std::map<int, wxString> HomeRoleListPID;
-               std::map<int, wxString> HomeRoleListType;
-               std::map<int, wxString> HomeRoleListTokens;
-               std::map<int, int> HomeRoleListPref;
-               
-               std::map<int, wxString> HomeOrganisationsList;
-               std::map<int, wxString> HomeOrganisationsListLanguage;          
-               std::map<int, wxString> HomeOrganisationsListAltID;
-               std::map<int, wxString> HomeOrganisationsListPID;
-               std::map<int, wxString> HomeOrganisationsListType;
-               std::map<int, wxString> HomeOrganisationsListTokens;
-               std::map<int, wxString> HomeOrganisationsListSortAs;
-               std::map<int, int> HomeOrganisationsListPref;
-               
-               std::map<int, wxString> HomeNoteList;
-               std::map<int, wxString> HomeNoteListLanguage;           
-               std::map<int, wxString> HomeNoteListAltID;
-               std::map<int, wxString> HomeNoteListPID;
-               std::map<int, wxString> HomeNoteListType;
-               std::map<int, wxString> HomeNoteListTokens;
-               std::map<int, int> HomeNoteListPref;            
-       
-               /* Items on the Business tab */
-               
-               std::map<int, wxString> BusinessNicknamesList;
-               std::map<int, wxString> BusinessNicknamesListType;
-               std::map<int, wxString> BusinessNicknamesListLanguage;
-               std::map<int, wxString> BusinessNicknamesListAltID;
-               std::map<int, wxString> BusinessNicknamesListPID;
-               std::map<int, wxString> BusinessNicknamesListTokens;            
-               std::map<int, int> BusinessNicknamesListPref;           
-               
-               std::map<int, wxString> BusinessAddressList;
-               std::map<int, wxString> BusinessAddressListTown;
-               std::map<int, wxString> BusinessAddressListCounty;
-               std::map<int, wxString> BusinessAddressListPostCode;
-               std::map<int, wxString> BusinessAddressListCountry;
-               std::map<int, wxString> BusinessAddressListLabel;
-               std::map<int, wxString> BusinessAddressListLang;                
-               std::map<int, wxString> BusinessAddressListAltID;
-               std::map<int, wxString> BusinessAddressListPID;
-               std::map<int, wxString> BusinessAddressListTokens;
-               std::map<int, wxString> BusinessAddressListGeo;
-               std::map<int, wxString> BusinessAddressListTimezone;            
-               std::map<int, wxString> BusinessAddressListType;
-               std::map<int, wxString> BusinessAddressListMediatype;
-               std::map<int, int> BusinessAddressListPref;
-               
-               std::map<int, wxString> BusinessEmailList;
-               std::map<int, wxString> BusinessEmailListAltID;
-               std::map<int, wxString> BusinessEmailListPID;
-               std::map<int, wxString> BusinessEmailListType;
-               std::map<int, wxString> BusinessEmailListTokens;
-               std::map<int, int> BusinessEmailListPref;
-               
-               std::map<int, wxString> BusinessIMList;
-               std::map<int, wxString> BusinessIMListAltID;
-               std::map<int, wxString> BusinessIMListPID;
-               std::map<int, wxString> BusinessIMListType;
-               std::map<int, wxString> BusinessIMListTokens;
-               std::map<int, wxString> BusinessIMListMediatype;
-               std::map<int, int> BusinessIMListPref;
-               
-               std::map<int, wxString> BusinessTelephoneList;
-               std::map<int, wxString> BusinessTelephoneListAltID;
-               std::map<int, wxString> BusinessTelephoneListPID;
-               std::map<int, wxString> BusinessTelephoneListType;
-               std::map<int, wxString> BusinessTelephoneListTokens;
-               std::map<int, int> BusinessTelephoneListPref;
-               
-               std::map<int, wxString> BusinessLanguageList;
-               std::map<int, wxString> BusinessLanguageListAltID;
-               std::map<int, wxString> BusinessLanguageListPID;
-               std::map<int, wxString> BusinessLanguageListType;
-               std::map<int, wxString> BusinessLanguageListTokens;
-               std::map<int, int> BusinessLanguageListPref;
-               
-               std::map<int, wxString> BusinessTZList;
-               std::map<int, wxString> BusinessTZListAltID;
-               std::map<int, wxString> BusinessTZListPID;
-               std::map<int, wxString> BusinessTZListType;
-               std::map<int, wxString> BusinessTZListTokens;
-               std::map<int, wxString> BusinessTZListMediatype;
-               std::map<int, int> BusinessTZListPref;
-               
-               std::map<int, wxString> BusinessGeographyList;
-               std::map<int, wxString> BusinessGeographyListAltID;
-               std::map<int, wxString> BusinessGeographyListPID;
-               std::map<int, wxString> BusinessGeographyListType;
-               std::map<int, wxString> BusinessGeographyListTokens;
-               std::map<int, wxString> BusinessGeographyListMediatype;
-               std::map<int, int> BusinessGeographyListPref;
-               
-               std::map<int, wxString> BusinessRelatedList;
-               std::map<int, wxString> BusinessRelatedListRelType;
-               std::map<int, wxString> BusinessRelatedListLanguage;
-               std::map<int, wxString> BusinessRelatedListAltID;
-               std::map<int, wxString> BusinessRelatedListPID;
-               std::map<int, wxString> BusinessRelatedListType;
-               std::map<int, wxString> BusinessRelatedListTokens;
-               std::map<int, int> BusinessRelatedListPref;                     
-               
-               std::map<int, wxString> BusinessWebsiteList;
-               std::map<int, wxString> BusinessWebsiteListAltID;
-               std::map<int, wxString> BusinessWebsiteListPID;
-               std::map<int, wxString> BusinessWebsiteListType;
-               std::map<int, wxString> BusinessWebsiteListTokens;
-               std::map<int, wxString> BusinessWebsiteListMediatype;
-               std::map<int, int> BusinessWebsiteListPref;
-               
-               std::map<int, wxString> BusinessTitleList;
-               std::map<int, wxString> BusinessTitleListLanguage;              
-               std::map<int, wxString> BusinessTitleListAltID;
-               std::map<int, wxString> BusinessTitleListPID;
-               std::map<int, wxString> BusinessTitleListType;
-               std::map<int, wxString> BusinessTitleListTokens;
-               std::map<int, int> BusinessTitleListPref;
-               
-               std::map<int, wxString> BusinessRoleList;
-               std::map<int, wxString> BusinessRoleListLanguage;               
-               std::map<int, wxString> BusinessRoleListAltID;
-               std::map<int, wxString> BusinessRoleListPID;
-               std::map<int, wxString> BusinessRoleListType;
-               std::map<int, wxString> BusinessRoleListTokens;
-               std::map<int, int> BusinessRoleListPref;
-               
-               std::map<int, wxString> BusinessOrganisationsList;
-               std::map<int, wxString> BusinessOrganisationsListLanguage;              
-               std::map<int, wxString> BusinessOrganisationsListAltID;
-               std::map<int, wxString> BusinessOrganisationsListPID;
-               std::map<int, wxString> BusinessOrganisationsListType;
-               std::map<int, wxString> BusinessOrganisationsListTokens;
-               std::map<int, wxString> BusinessOrganisationsListSortAs;                
-               std::map<int, int> BusinessOrganisationsListPref;
-               
-               std::map<int, wxString> BusinessNoteList;
-               std::map<int, wxString> BusinessNoteListLanguage;               
-               std::map<int, wxString> BusinessNoteListAltID;
-               std::map<int, wxString> BusinessNoteListPID;
-               std::map<int, wxString> BusinessNoteListType;
-               std::map<int, wxString> BusinessNoteListTokens;
-               std::map<int, int> BusinessNoteListPref;                
-               
-               /* Items on the Categories tab */
-               
-               std::map<int, wxString> CategoriesList;
-               std::map<int, wxString> CategoriesListAltID;
-               std::map<int, wxString> CategoriesListPID;
-               std::map<int, wxString> CategoriesListType;
-               std::map<int, wxString> CategoriesListTokens;
-               std::map<int, int> CategoriesListPref;  
-               
-               /* Items on the Groups tab */
-               
-               std::map<int, wxString> GroupsList;
-               std::map<int, wxString> GroupsListAltID;
-               std::map<int, wxString> GroupsListPID;
-               std::map<int, wxString> GroupsListType;
-               std::map<int, wxString> GroupsListTokens;
-               std::map<int, int> GroupsListPref;
-               
-               /* Items on the Pictures tab */
-               
-               std::map<int, std::string> PicturesList;
-               std::map<int, wxString> PicturesListAltID;
-               std::map<int, wxString> PicturesListPID;
-               std::map<int, wxString> PicturesListType;
-               std::map<int, wxString> PicturesListPicEncType;
-               std::map<int, wxString> PicturesListPictureType;
-               std::map<int, wxString> PicturesListTokens;
-               std::map<int, wxString> PicturesListMediatype;          
-               std::map<int, int> PicturesListPref;
-
-               /* Items on the Logos tab */
-               
-               std::map<int, std::string> LogosList;
-               std::map<int, wxString> LogosListAltID;
-               std::map<int, wxString> LogosListPID;
-               std::map<int, wxString> LogosListType;
-               std::map<int, wxString> LogosListPicEncType;            
-               std::map<int, wxString> LogosListPictureType;
-               std::map<int, wxString> LogosListTokens;
-               std::map<int, wxString> LogosListMediatype;             
-               std::map<int, int> LogosListPref;
-               
-               /* Items on the Sounds tab */
-               
-               std::map<int, std::string> SoundsList;
-               std::map<int, wxString> SoundsListAltID;
-               std::map<int, wxString> SoundsListPID;
-               std::map<int, wxString> SoundsListType;
-               std::map<int, wxString> SoundsListAudioEncType;         
-               std::map<int, wxString> SoundsListAudioType;            
-               std::map<int, wxString> SoundsListTokens;
-               std::map<int, wxString> SoundsListMediatype;            
-               std::map<int, int> SoundsListPref;      
-               
-               /* Items on the Calendaring tab */
-               
-               std::map<int, wxString> CalendarList;
-               std::map<int, wxString> CalendarListAltID;
-               std::map<int, wxString> CalendarListPID;
-               std::map<int, wxString> CalendarListType;
-               std::map<int, wxString> CalendarListTokens;
-               std::map<int, wxString> CalendarListMediatype;          
-               std::map<int, int> CalendarListPref;
-               
-               std::map<int, wxString> CalendarRequestList;
-               std::map<int, wxString> CalendarRequestListAltID;
-               std::map<int, wxString> CalendarRequestListPID;
-               std::map<int, wxString> CalendarRequestListType;
-               std::map<int, wxString> CalendarRequestListTokens;
-               std::map<int, wxString> CalendarRequestListMediatype;           
-               std::map<int, int> CalendarRequestListPref;             
-                               
-               std::map<int, wxString> FreeBusyList;
-               std::map<int, wxString> FreeBusyListAltID;
-               std::map<int, wxString> FreeBusyListPID;
-               std::map<int, wxString> FreeBusyListType;
-               std::map<int, wxString> FreeBusyListTokens;
-               std::map<int, wxString> FreeBusyListMediatype;          
-               std::map<int, int> FreeBusyListPref;
-               
-               /* Items on the Security tab */
-               
-               std::map<int, wxString> KeyList;
-               std::map<int, wxString> KeyListAltID;
-               std::map<int, wxString> KeyListPID;
-               std::map<int, bool> KeyListKeyType;             
-               std::map<int, wxString> KeyListDataType;                
-               std::map<int, wxString> KeyListDataEncType;
-               std::map<int, wxString> KeyListType;
-               std::map<int, wxString> KeyListTokens;
-               std::map<int, int> KeyListPref;
-               
-               /* Items on the Other tab */
-               
-               std::map<int, wxString> VendorList;
-               std::map<int, wxString> VendorListPEN;
-               std::map<int, wxString> VendorListElement;
-               
-               std::map<int, wxString> XTokenList;             
-               std::map<int, wxString> XTokenListTokens;                       
+               ContactDataObject ContactEditorData;                    
        
                /* Items regarding account and filename */
                
                wxString wxSContactFilename;
                wxString wxSContactAccount;
                bool boolContactModified;
+               bool boolUnsupportedAccount = false;
+               
                int intSeekSelectedData;
                
                /* Section for saving/loading data */
@@ -1206,6 +744,7 @@ class frmContactEditor : public frmContactEditorADT
                bool EditMode = FALSE;
                bool StartupEditMode = FALSE;
                bool DialogOpen = FALSE;
+               bool saveSuccess = false;
                
                /*
                std::string base64dec;
@@ -1215,9 +754,7 @@ class frmContactEditor : public frmContactEditorADT
                
                size_t base64declen;
                std::string base64dec;
-               sf::Music AudioPlayback;
-               AudioStream AudioStreamPlayback;
-               sf::SoundBuffer AudioBuffer;
+               AudioStream *AudioStreamPlaybackPointer = nullptr;
                
                wxBitmap PictureImage;
                wxBitmap LogoImage;
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