X-Git-Url: http://Server1/repobrowser/?p=xestiaab%2F.git;a=blobdiff_plain;f=source%2Fcontacteditor%2FfrmContactEditor.h;h=dbad3554794457d2a60fae42534ca3723ce85c3f;hp=7ea64616278510907acf2470ff8dd46df523b3f3;hb=f17747e21a80b71447654462a60fca6baaf64a17;hpb=06c2ed8b03776fa476de5043a8c09e00d3a481f5 diff --git a/source/contacteditor/frmContactEditor.h b/source/contacteditor/frmContactEditor.h index 7ea6461..dbad355 100644 --- a/source/contacteditor/frmContactEditor.h +++ b/source/contacteditor/frmContactEditor.h @@ -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::iterator strIter; + std::map::iterator strDataTypeIter; wxString strMainValue; int intSeekData = (*iterDataStringPtr)->first; @@ -603,561 +607,115 @@ 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 *GroupList); + void LoadAddress(std::map *GeneralAddressList, + std::map *GeneralAddressListTown, + std::map *GeneralAddressListCounty, + std::map *GeneralAddressListPostCode, + std::map *GeneralAddressListPref, + std::map *HomeAddressList, + std::map *HomeAddressListTown, + std::map *HomeAddressListCounty, + std::map *HomeAddressListPostCode, + std::map *HomeAddressListPref, + std::map *BusinessAddressList, + std::map *BusinessAddressListTown, + std::map *BusinessAddressListCounty, + std::map *BusinessAddressListPostCode, + std::map *BusinessAddressListPref, + int *AddressCount); + + void LoadData(std::map *GeneralList, + std::map *GeneralListPref, + wxListCtrl *GeneralListCtrl, + std::map *HomeList, + std::map *HomeListPref, + wxListCtrl *HomeListCtrl, + std::map *BusinessList, + std::map *BusinessTZPref, + wxListCtrl *BusinessListCtrl, + int *DataCount); + + void LoadData(std::map *GeneralList, + std::map *GeneralListPref, + std::map *GeneralListType, + wxListCtrl *GeneralListCtrl, + std::map *HomeList, + std::map *HomeListPref, + std::map *HomeListType, + wxListCtrl *HomeListCtrl, + std::map *BusinessList, + std::map *BusinessListPref, + std::map *BusinessListType, + wxListCtrl *BusinessListCtrl, + int *DataCount); + + void LoadData(std::map *ItemList, + std::map *ItemListPref, + wxListCtrl *ItemCtrl, + int *DataCount); + + void LoadData(std::map *ItemList, + std::map *ItemListPref, + std::map *ItemListType, + wxListCtrl *ItemCtrl, + int *DataCount); + + void LoadData(wxString ItemName, + std::map *ItemList, + std::map *ItemListPref, + std::map *ItemListType, + std::map *ItemListDataType, + wxListCtrl *ItemCtrl, + int *DataCount); + + void LoadPictureData(wxString ItemName, + std::map *ItemList, + std::map *ItemListPref, + std::map *ItemListType, + wxListCtrl *ItemCtrl, + int *DataCount); + + void LoadVendorData(std::map *ItemListPEN, + std::map *ItemListElement, + wxListCtrl *ItemCtrl, + int *DataCount); + + void LoadXTokenData(std::map *ItemListTokens, + wxListCtrl *ItemCtrl, + int *DataCount); + + void LoadData(std::map *ItemList, + wxComboBox *ItemCtrl); + + void LoadRelatedData(std::map *ItemList, + std::map *ItemListPref, + std::map *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 ExtraFullNames;*/ - /*std::map ExtraNicknames;*/ - - std::map FullNamesList; - std::map FullNamesListType; - std::map FullNamesListLanguage; - std::map FullNamesListAltID; - std::map FullNamesListPID; - std::map FullNamesListTokens; - std::map FullNamesListPref; - - std::map GeneralNicknamesList; - std::map GeneralNicknamesListType; - std::map GeneralNicknamesListLanguage; - std::map GeneralNicknamesListAltID; - std::map GeneralNicknamesListPID; - std::map GeneralNicknamesListTokens; - std::map GeneralNicknamesListPref; - - std::map GeneralAddressList; - std::map GeneralAddressListTown; - std::map GeneralAddressListCounty; - std::map GeneralAddressListPostCode; - std::map GeneralAddressListCountry; - std::map GeneralAddressListLabel; - std::map GeneralAddressListLang; - std::map GeneralAddressListAltID; - std::map GeneralAddressListPID; - std::map GeneralAddressListTokens; - std::map GeneralAddressListGeo; - std::map GeneralAddressListTimezone; - std::map GeneralAddressListType; - std::map GeneralAddressListMediatype; - std::map GeneralAddressListPref; - - std::map GeneralEmailList; - std::map GeneralEmailListAltID; - std::map GeneralEmailListPID; - std::map GeneralEmailListType; - std::map GeneralEmailListTokens; - std::map GeneralEmailListPref; - - std::map GeneralIMList; - std::map GeneralIMListAltID; - std::map GeneralIMListPID; - std::map GeneralIMListType; - std::map GeneralIMListTokens; - std::map GeneralIMListMediatype; - std::map GeneralIMListPref; - - std::map GeneralTelephoneList; - std::map GeneralTelephoneListAltID; - std::map GeneralTelephoneListPID; - std::map GeneralTelephoneListType; - std::map GeneralTelephoneListTokens; - std::map GeneralTelephoneListPref; - - std::map GeneralLanguageList; - std::map GeneralLanguageListAltID; - std::map GeneralLanguageListPID; - std::map GeneralLanguageListType; - std::map GeneralLanguageListTokens; - std::map GeneralLanguageListPref; - - std::map GeneralTZList; - std::map GeneralTZListAltID; - std::map GeneralTZListPID; - std::map GeneralTZListType; - std::map GeneralTZListTokens; - std::map GeneralTZListMediatype; - std::map GeneralTZListPref; - - std::map GeneralGeographyList; - std::map GeneralGeographyListAltID; - std::map GeneralGeographyListPID; - std::map GeneralGeographyListType; - std::map GeneralGeographyListTokens; - std::map GeneralGeographyListMediatype; - std::map GeneralGeographyListPref; - - std::map GeneralRelatedList; - std::map GeneralRelatedListRelType; - std::map GeneralRelatedListLanguage; - std::map GeneralRelatedListAltID; - std::map GeneralRelatedListPID; - std::map GeneralRelatedListType; - std::map GeneralRelatedListTokens; - std::map GeneralRelatedListPref; - - std::map GeneralWebsiteList; - std::map GeneralWebsiteListAltID; - std::map GeneralWebsiteListPID; - std::map GeneralWebsiteListType; - std::map GeneralWebsiteListTokens; - std::map GeneralWebsiteListMediatype; - std::map GeneralWebsiteListPref; - - std::map GeneralTitleList; - std::map GeneralTitleListLanguage; - std::map GeneralTitleListAltID; - std::map GeneralTitleListPID; - std::map GeneralTitleListType; - std::map GeneralTitleListTokens; - std::map GeneralTitleListPref; - - std::map GeneralRoleList; - std::map GeneralRoleListLanguage; - std::map GeneralRoleListAltID; - std::map GeneralRoleListPID; - std::map GeneralRoleListType; - std::map GeneralRoleListTokens; - std::map GeneralRoleListPref; - - std::map GeneralOrganisationsList; - std::map GeneralOrganisationsListLanguage; - std::map GeneralOrganisationsListAltID; - std::map GeneralOrganisationsListPID; - std::map GeneralOrganisationsListType; - std::map GeneralOrganisationsListTokens; - std::map GeneralOrganisationsListSortAs; - std::map GeneralOrganisationsListPref; - - std::map GeneralNoteList; - std::map GeneralNoteListLanguage; - std::map GeneralNoteListAltID; - std::map GeneralNoteListPID; - std::map GeneralNoteListType; - std::map GeneralNoteListTokens; - std::map GeneralNoteListPref; - - /* Items on Home Tab */ - - std::map HomeNicknamesList; - std::map HomeNicknamesListType; - std::map HomeNicknamesListLanguage; - std::map HomeNicknamesListAltID; - std::map HomeNicknamesListPID; - std::map HomeNicknamesListTokens; - std::map HomeNicknamesListPref; - - std::map HomeAddressList; - std::map HomeAddressListTown; - std::map HomeAddressListCounty; - std::map HomeAddressListPostCode; - std::map HomeAddressListCountry; - std::map HomeAddressListLabel; - std::map HomeAddressListLang; - std::map HomeAddressListAltID; - std::map HomeAddressListPID; - std::map HomeAddressListTokens; - std::map HomeAddressListGeo; - std::map HomeAddressListTimezone; - std::map HomeAddressListType; - std::map HomeAddressListMediatype; - std::map HomeAddressListPref; - - std::map HomeEmailList; - std::map HomeEmailListAltID; - std::map HomeEmailListPID; - std::map HomeEmailListType; - std::map HomeEmailListTokens; - std::map HomeEmailListPref; - - std::map HomeIMList; - std::map HomeIMListAltID; - std::map HomeIMListPID; - std::map HomeIMListType; - std::map HomeIMListTokens; - std::map HomeIMListMediatype; - std::map HomeIMListPref; - - std::map HomeTelephoneList; - std::map HomeTelephoneListAltID; - std::map HomeTelephoneListPID; - std::map HomeTelephoneListType; - std::map HomeTelephoneListTokens; - std::map HomeTelephoneListPref; - - std::map HomeLanguageList; - std::map HomeLanguageListAltID; - std::map HomeLanguageListPID; - std::map HomeLanguageListType; - std::map HomeLanguageListTokens; - std::map HomeLanguageListPref; - - std::map HomeTZList; - std::map HomeTZListAltID; - std::map HomeTZListPID; - std::map HomeTZListType; - std::map HomeTZListTokens; - std::map HomeTZListMediatype; - std::map HomeTZListPref; - - std::map HomeGeographyList; - std::map HomeGeographyListAltID; - std::map HomeGeographyListPID; - std::map HomeGeographyListType; - std::map HomeGeographyListTokens; - std::map HomeGeographyListMediatype; - std::map HomeGeographyListPref; - - std::map HomeRelatedList; - std::map HomeRelatedListRelType; - std::map HomeRelatedListLanguage; - std::map HomeRelatedListAltID; - std::map HomeRelatedListPID; - std::map HomeRelatedListType; - std::map HomeRelatedListTokens; - std::map HomeRelatedListPref; - - std::map HomeWebsiteList; - std::map HomeWebsiteListAltID; - std::map HomeWebsiteListPID; - std::map HomeWebsiteListType; - std::map HomeWebsiteListTokens; - std::map HomeWebsiteListMediatype; - std::map HomeWebsiteListPref; - - std::map HomeTitleList; - std::map HomeTitleListLanguage; - std::map HomeTitleListAltID; - std::map HomeTitleListPID; - std::map HomeTitleListType; - std::map HomeTitleListTokens; - std::map HomeTitleListPref; - - std::map HomeRoleList; - std::map HomeRoleListLanguage; - std::map HomeRoleListAltID; - std::map HomeRoleListPID; - std::map HomeRoleListType; - std::map HomeRoleListTokens; - std::map HomeRoleListPref; - - std::map HomeOrganisationsList; - std::map HomeOrganisationsListLanguage; - std::map HomeOrganisationsListAltID; - std::map HomeOrganisationsListPID; - std::map HomeOrganisationsListType; - std::map HomeOrganisationsListTokens; - std::map HomeOrganisationsListSortAs; - std::map HomeOrganisationsListPref; - - std::map HomeNoteList; - std::map HomeNoteListLanguage; - std::map HomeNoteListAltID; - std::map HomeNoteListPID; - std::map HomeNoteListType; - std::map HomeNoteListTokens; - std::map HomeNoteListPref; - - /* Items on the Business tab */ - - std::map BusinessNicknamesList; - std::map BusinessNicknamesListType; - std::map BusinessNicknamesListLanguage; - std::map BusinessNicknamesListAltID; - std::map BusinessNicknamesListPID; - std::map BusinessNicknamesListTokens; - std::map BusinessNicknamesListPref; - - std::map BusinessAddressList; - std::map BusinessAddressListTown; - std::map BusinessAddressListCounty; - std::map BusinessAddressListPostCode; - std::map BusinessAddressListCountry; - std::map BusinessAddressListLabel; - std::map BusinessAddressListLang; - std::map BusinessAddressListAltID; - std::map BusinessAddressListPID; - std::map BusinessAddressListTokens; - std::map BusinessAddressListGeo; - std::map BusinessAddressListTimezone; - std::map BusinessAddressListType; - std::map BusinessAddressListMediatype; - std::map BusinessAddressListPref; - - std::map BusinessEmailList; - std::map BusinessEmailListAltID; - std::map BusinessEmailListPID; - std::map BusinessEmailListType; - std::map BusinessEmailListTokens; - std::map BusinessEmailListPref; - - std::map BusinessIMList; - std::map BusinessIMListAltID; - std::map BusinessIMListPID; - std::map BusinessIMListType; - std::map BusinessIMListTokens; - std::map BusinessIMListMediatype; - std::map BusinessIMListPref; - - std::map BusinessTelephoneList; - std::map BusinessTelephoneListAltID; - std::map BusinessTelephoneListPID; - std::map BusinessTelephoneListType; - std::map BusinessTelephoneListTokens; - std::map BusinessTelephoneListPref; - - std::map BusinessLanguageList; - std::map BusinessLanguageListAltID; - std::map BusinessLanguageListPID; - std::map BusinessLanguageListType; - std::map BusinessLanguageListTokens; - std::map BusinessLanguageListPref; - - std::map BusinessTZList; - std::map BusinessTZListAltID; - std::map BusinessTZListPID; - std::map BusinessTZListType; - std::map BusinessTZListTokens; - std::map BusinessTZListMediatype; - std::map BusinessTZListPref; - - std::map BusinessGeographyList; - std::map BusinessGeographyListAltID; - std::map BusinessGeographyListPID; - std::map BusinessGeographyListType; - std::map BusinessGeographyListTokens; - std::map BusinessGeographyListMediatype; - std::map BusinessGeographyListPref; - - std::map BusinessRelatedList; - std::map BusinessRelatedListRelType; - std::map BusinessRelatedListLanguage; - std::map BusinessRelatedListAltID; - std::map BusinessRelatedListPID; - std::map BusinessRelatedListType; - std::map BusinessRelatedListTokens; - std::map BusinessRelatedListPref; - - std::map BusinessWebsiteList; - std::map BusinessWebsiteListAltID; - std::map BusinessWebsiteListPID; - std::map BusinessWebsiteListType; - std::map BusinessWebsiteListTokens; - std::map BusinessWebsiteListMediatype; - std::map BusinessWebsiteListPref; - - std::map BusinessTitleList; - std::map BusinessTitleListLanguage; - std::map BusinessTitleListAltID; - std::map BusinessTitleListPID; - std::map BusinessTitleListType; - std::map BusinessTitleListTokens; - std::map BusinessTitleListPref; - - std::map BusinessRoleList; - std::map BusinessRoleListLanguage; - std::map BusinessRoleListAltID; - std::map BusinessRoleListPID; - std::map BusinessRoleListType; - std::map BusinessRoleListTokens; - std::map BusinessRoleListPref; - - std::map BusinessOrganisationsList; - std::map BusinessOrganisationsListLanguage; - std::map BusinessOrganisationsListAltID; - std::map BusinessOrganisationsListPID; - std::map BusinessOrganisationsListType; - std::map BusinessOrganisationsListTokens; - std::map BusinessOrganisationsListSortAs; - std::map BusinessOrganisationsListPref; - - std::map BusinessNoteList; - std::map BusinessNoteListLanguage; - std::map BusinessNoteListAltID; - std::map BusinessNoteListPID; - std::map BusinessNoteListType; - std::map BusinessNoteListTokens; - std::map BusinessNoteListPref; - - /* Items on the Categories tab */ - - std::map CategoriesList; - std::map CategoriesListAltID; - std::map CategoriesListPID; - std::map CategoriesListType; - std::map CategoriesListTokens; - std::map CategoriesListPref; - - /* Items on the Groups tab */ - - std::map GroupsList; - std::map GroupsListAltID; - std::map GroupsListPID; - std::map GroupsListType; - std::map GroupsListTokens; - std::map GroupsListPref; - - /* Items on the Pictures tab */ - - std::map PicturesList; - std::map PicturesListAltID; - std::map PicturesListPID; - std::map PicturesListType; - std::map PicturesListPicEncType; - std::map PicturesListPictureType; - std::map PicturesListTokens; - std::map PicturesListMediatype; - std::map PicturesListPref; - - /* Items on the Logos tab */ - - std::map LogosList; - std::map LogosListAltID; - std::map LogosListPID; - std::map LogosListType; - std::map LogosListPicEncType; - std::map LogosListPictureType; - std::map LogosListTokens; - std::map LogosListMediatype; - std::map LogosListPref; - - /* Items on the Sounds tab */ - - std::map SoundsList; - std::map SoundsListAltID; - std::map SoundsListPID; - std::map SoundsListType; - std::map SoundsListAudioEncType; - std::map SoundsListAudioType; - std::map SoundsListTokens; - std::map SoundsListMediatype; - std::map SoundsListPref; - - /* Items on the Calendaring tab */ - - std::map CalendarList; - std::map CalendarListAltID; - std::map CalendarListPID; - std::map CalendarListType; - std::map CalendarListTokens; - std::map CalendarListMediatype; - std::map CalendarListPref; - - std::map CalendarRequestList; - std::map CalendarRequestListAltID; - std::map CalendarRequestListPID; - std::map CalendarRequestListType; - std::map CalendarRequestListTokens; - std::map CalendarRequestListMediatype; - std::map CalendarRequestListPref; - - std::map FreeBusyList; - std::map FreeBusyListAltID; - std::map FreeBusyListPID; - std::map FreeBusyListType; - std::map FreeBusyListTokens; - std::map FreeBusyListMediatype; - std::map FreeBusyListPref; - - /* Items on the Security tab */ - - std::map KeyList; - std::map KeyListAltID; - std::map KeyListPID; - std::map KeyListKeyType; - std::map KeyListDataType; - std::map KeyListDataEncType; - std::map KeyListType; - std::map KeyListTokens; - std::map KeyListPref; - - /* Items on the Other tab */ - - std::map VendorList; - std::map VendorListPEN; - std::map VendorListElement; - - std::map XTokenList; - std::map XTokenListTokens; + ContactDataObject ContactEditorData; /* Items regarding account and filename */ wxString wxSContactFilename; wxString wxSContactAccount; bool boolContactModified; + bool boolUnsupportedAccount = false; + int intSeekSelectedData; /* Section for saving/loading data */ @@ -1186,6 +744,7 @@ class frmContactEditor : public frmContactEditorADT bool EditMode = FALSE; bool StartupEditMode = FALSE; bool DialogOpen = FALSE; + bool saveSuccess = false; /* std::string base64dec; @@ -1195,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;