+// frmContactEditor.h - frmContactEditor form header.
+//
+// (c) 2012-2016 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 <http://www.gnu.org/licenses/>
+
#ifndef __frmContactEditor__
#define __frmContactEditor__
#include "../common/etag.h"
#include "../common/timers.h"
-#include "../frmActivityMgr.h"
+#include "../actmgr/frmActivityMgr.h"
#include "../frmMain.h"
+#include "frmContactEditorSound.h"
+
+#include "cdo/ContactDataObject.h"
#define CE_NICKNAME wxT("Nickname")
#define CE_ADDRESS wxT("Address")
void OnMusicEnd() { }
bool GetPlayingStatus(){ return FilePlaying; }
-
-/*
- void load(const sf::SoundBuffer& buffer)
- {
- // extract the audio samples from the sound buffer to our own container
- m_samples.assign(buffer.getSamples(), buffer.getSamples() + buffer.getSampleCount());
-
- // reset the current playing position
- m_currentSample = 0;
-
- // initialize the base class
- initialize(buffer.getChannelCount(), buffer.getSampleRate());
- }
-
- bool GetPlayingStatus(){ return FilePlaying; }
-
-private:
-
- virtual bool onGetData(Chunk& data)
- {
- // number of samples to stream every time the function is called;
- // in a more robust implementation, it would rather be a fixed
- // amount of time rather than an arbitrary number of samples
- const int samplesToStream = 50000;
-
- // set the pointer to the next audio samples to be played
- data.samples = &m_samples[m_currentSample];
-
- // have we reached the end of the sound?
- if (m_currentSample + samplesToStream <= m_samples.size())
- {
- // end not reached: stream the samples and continue
- data.sampleCount = samplesToStream;
- m_currentSample += samplesToStream;
- FilePlaying = TRUE;
- return true;
- }
- else
- {
- // end of stream reached: stream the remaining samples and stop playback
- data.sampleCount = m_samples.size() - m_currentSample;
- m_currentSample = m_samples.size();
- FilePlaying = FALSE;
- return false;
- }
- }
-
- virtual void onSeek(sf::Time TimeOffset)
- {
- // compute the corresponding sample index according to the sample rate and channel count
- m_currentSample = static_cast<std::size_t>(TimeOffset.asSeconds() * getSampleRate() * getChannelCount());
- }
-
- std::vector<sf::Int16> m_samples;
- std::size_t m_currentSample;
-
- */
bool FilePlaying = TRUE;
};
void ModifyPicture( wxCommandEvent& event );
void DeletePicture( wxCommandEvent& event );
void LoadPicture( wxListEvent& event );
+ void SavePicture( wxCommandEvent& event);
void AddLogo( wxCommandEvent& event );
void ModifyLogo( wxCommandEvent& event );
void DeleteLogo( wxCommandEvent& event );
- void LoadLogo( wxListEvent& event );
+ void LoadLogo( wxListEvent& event );
+ void SaveLogo( wxCommandEvent& event);
void AddSound( wxCommandEvent& event );
void ModifySound( wxCommandEvent& event );
void DeleteSound( wxCommandEvent& event );
+ void SaveSound( wxCommandEvent& event);
void PlaySoundDetach();
void PlaySound( wxCommandEvent& event );
void StopSound( wxCommandEvent& event );
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);
+ void SetMode(bool StartupEditMode);
void SetUID(int UID);
private:
ProcessSaveDataB(args...);
std::map<int,wxString>::iterator strIter;
+ std::map<int,wxString>::iterator strDataTypeIter;
wxString strMainValue;
int intSeekData = (*iterDataStringPtr)->first;
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 LoadKind(ContactKindType *KindType);
+ void LoadBirthday(wxString *BirthdayData, bool *BirthdayText);
+ void LoadAnniversary(wxString *AnniversaryData, bool *AnniversaryText);
+ void LoadGender(wxString *GenderComponent, wxString *GenderIdentity);
+ void LoadName(wxString *NameTitle, wxString *NameForename,
+ wxString *NameSurname, wxString *NameOtherNames,
+ wxString *NameSuffix);
+ void LoadMember(std::map<int,wxString> *GroupList);
+ void LoadAddress(std::map<int, wxString> *GeneralAddressList,
+ std::map<int, wxString> *GeneralAddressListTown,
+ std::map<int, wxString> *GeneralAddressListCounty,
+ std::map<int, wxString> *GeneralAddressListPostCode,
+ std::map<int, int> *GeneralAddressListPref,
+ std::map<int, wxString> *HomeAddressList,
+ std::map<int, wxString> *HomeAddressListTown,
+ std::map<int, wxString> *HomeAddressListCounty,
+ std::map<int, wxString> *HomeAddressListPostCode,
+ std::map<int, int> *HomeAddressListPref,
+ std::map<int, wxString> *BusinessAddressList,
+ std::map<int, wxString> *BusinessAddressListTown,
+ std::map<int, wxString> *BusinessAddressListCounty,
+ std::map<int, wxString> *BusinessAddressListPostCode,
+ 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 */
- 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 */
int intValue3 = 0;
bool BinaryDataProc = FALSE;
bool EditMode = FALSE;
+ bool StartupEditMode = FALSE;
bool DialogOpen = FALSE;
/*
size_t base64declen;
std::string base64dec;
- sf::Music AudioPlayback;
- AudioStream AudioStreamPlayback;
- sf::SoundBuffer AudioBuffer;
+ AudioStream *AudioStreamPlaybackPointer = nullptr;
wxBitmap PictureImage;
wxBitmap LogoImage;