X-Git-Url: http://Server1/repobrowser/?p=xestiaab%2F.git;a=blobdiff_plain;f=source%2Fcontacteditor%2FfrmContactEditor.cpp;h=4856537b0a699209934c5ad4822709cc4d636341;hp=0ce77e1f959f8359ecd2b16930e199d1cd21bf58;hb=074e2db3331d35762f1d2dcf06d98f15200fc225;hpb=9d218d1a9ec4512d8b4edad402b2159cfc442ae0 diff --git a/source/contacteditor/frmContactEditor.cpp b/source/contacteditor/frmContactEditor.cpp index 0ce77e1..4856537 100644 --- a/source/contacteditor/frmContactEditor.cpp +++ b/source/contacteditor/frmContactEditor.cpp @@ -1,3 +1,21 @@ +// frmContactEditor.cpp - Main frmContactEditor form section. +// +// (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 + #include #include #include @@ -11,8 +29,6 @@ #include #include -#include - #include "frmContactEditor.h" #include "frmContactEditorNickname.h" #include "frmContactEditorAddress.h" @@ -27,7 +43,6 @@ #include "frmContactEditorRoles.h" #include "frmContactEditorGeoposition.h" #include "frmContactEditorGroups.h" - #include "frmContactEditorOrganisations.h" #include "frmContactEditorNotes.h" #include "frmContactEditorCategory.h" @@ -50,6563 +65,150 @@ #include "../common/uuid.h" #include "../common/dirs.h" -#define CE_NICKNAME wxT("Nickname") -#define CE_ADDRESS wxT("Address") -#define CE_EMAIL wxT("Email") -#define CE_IM wxT("IM") -#define CE_TELEPHONE wxT("Telephone") -#define CE_LANG wxT("Languages") -#define CE_TZ wxT("Timezone") -#define CE_RELATED wxT("Related") -#define CE_WEBSITE wxT("Websites") -#define CE_TITLE wxT("Titles") -#define CE_GEOPOSITION wxT("Geoposition") -#define CE_ROLE wxT("Roles") -#define CE_ORG wxT("Organisations") -#define CE_NOTE wxT("Notes") -#define CE_CATEGORIES wxT("Categories") -#define CE_GROUPS wxT("Groups") -#define CE_PICTURES wxT("Pictures") -#define CE_SOUNDS wxT("Sounds") -#define CE_CALENDAR wxT("Calendar") -#define CE_KEY wxT("Key") -#define CE_TOKEN wxT("Token") - -// TODO: Investigate problems with SFML & PulseAudio - CPU usage problems when -// not being used. - -// Replace intResult with intValueSeek. - -BEGIN_EVENT_TABLE(frmContactEditor, wxFrame) -EVT_COMMAND(wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, frmContactEditor::ContactFileChanged) -END_EVENT_TABLE() - -frmContactEditor::frmContactEditor( wxWindow* parent ) -: -frmContactEditorADT( parent ) -{ - boolContactModified = FALSE; - wxDateTime NoDate; - dapAnniversary->SetValue(NoDate); - dapBirthday->SetValue(NoDate); - tabMembers->Hide(); - - // Setup the buttons. - - wxMemoryInputStream istream(buttons_play_png, sizeof(buttons_play_png)); - wxImage button_play_pngi(istream, wxBITMAP_TYPE_PNG); - wxBitmap playiconbmp(button_play_pngi, -1); - btnPlay->SetBitmapLabel(playiconbmp); - - wxMemoryInputStream istream2(buttons_stop_png, sizeof(buttons_stop_png)); - wxImage button_stop_pngi(istream2, wxBITMAP_TYPE_PNG); - wxBitmap stopiconbmp(button_stop_pngi, -1); - btnStop->SetBitmapLabel(stopiconbmp); - btnStop->Disable(); - FMTimer.SetupPointers(this); - //wxIcon contacticon; - //contacticon.CopyFromBitmap(contacticonbmp); - -} - -void frmContactEditor::AddGeneralNickname( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorNickname *frameCENickname = new frmContactEditorNickname ( this ); - frameCENickname->SetEditorMode(FALSE, CE_GENERAL); - intResult = GetLastInt(&GeneralNicknamesList); - frameCENickname->SetupPointers(&GeneralNicknamesList, - &GeneralNicknamesListAltID, - &GeneralNicknamesListPID, - &GeneralNicknamesListType, - &GeneralNicknamesListLanguage, - &GeneralNicknamesListTokens, - &GeneralNicknamesListPref, - lboNicknames, - (intValueSeek)); - frameCENickname->ShowModal(); - delete frameCENickname; - frameCENickname = NULL; -} - -void frmContactEditor::ModifyGeneralNickname( wxCommandEvent& event ) -{ - - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboNicknames, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorNickname *frameCENickname = new frmContactEditorNickname ( this ); - frameCENickname->SetupPointers(&GeneralNicknamesList, - &GeneralNicknamesListAltID, - &GeneralNicknamesListPID, - &GeneralNicknamesListType, - &GeneralNicknamesListLanguage, - &GeneralNicknamesListTokens, - &GeneralNicknamesListPref, - lboNicknames, - intSelectedData); - frameCENickname->SetEditorMode(TRUE, CE_GENERAL); - frameCENickname->ShowModal(); - delete frameCENickname; - frameCENickname = NULL; - -} - -void frmContactEditor::DeleteGeneralNickname( wxCommandEvent& event ) -{ - - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboNicknames, - &longSelected, - &intSelectedData)){ - return; - } - - lboNicknames->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, - &GeneralNicknamesList, - &GeneralNicknamesListLanguage, - &GeneralNicknamesListAltID, - &GeneralNicknamesListPID, - &GeneralNicknamesListTokens, - &GeneralNicknamesListType, - &GeneralNicknamesListPref); - -} - -void frmContactEditor::AddGeneralAddress( wxCommandEvent& event ) -{ - - int intResult = 0; - - frmContactEditorAddress *frameCEAddress = new frmContactEditorAddress ( this ); - frameCEAddress->SetEditorMode(FALSE, CE_GENERAL); - intResult = GetLastInt(&GeneralAddressList); - frameCEAddress->SetupPointers(&GeneralAddressList, - &GeneralAddressListTown, - &GeneralAddressListCounty, - &GeneralAddressListPostCode, - &GeneralAddressListCountry, - &GeneralAddressListLabel, - &GeneralAddressListLang, - &GeneralAddressListAltID, - &GeneralAddressListPID, - &GeneralAddressListTokens, - &GeneralAddressListGeo, - &GeneralAddressListTimezone, - &GeneralAddressListType, - &GeneralAddressListMediatype, - &GeneralAddressListPref, - lboAddresses, - (intValueSeek)); - frameCEAddress->ShowModal(); - delete frameCEAddress; - frameCEAddress = NULL; -} - -void frmContactEditor::ModifyGeneralAddress( wxCommandEvent& event ) -{ - - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboAddresses, - &longSelected, - &intSelectedData)){ - return; - } - - if (longSelected == -1){ - return; - } - - frmContactEditorAddress *frameCEAddress = new frmContactEditorAddress ( this ); - frameCEAddress->SetupPointers(&GeneralAddressList, - &GeneralAddressListTown, - &GeneralAddressListCounty, - &GeneralAddressListPostCode, - &GeneralAddressListCountry, - &GeneralAddressListLabel, - &GeneralAddressListLang, - &GeneralAddressListAltID, - &GeneralAddressListPID, - &GeneralAddressListTokens, - &GeneralAddressListGeo, - &GeneralAddressListTimezone, - &GeneralAddressListType, - &GeneralAddressListMediatype, - &GeneralAddressListPref, - lboAddresses, - intSelectedData); - frameCEAddress->SetEditorMode(TRUE, CE_GENERAL); - frameCEAddress->ShowModal(); - delete frameCEAddress; - frameCEAddress = NULL; - -} - -void frmContactEditor::DeleteGeneralAddress( wxCommandEvent& event ) -{ - - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboAddresses, - &longSelected, - &intSelectedData)){ - return; - } - - lboAddresses->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &GeneralAddressList, - &GeneralAddressListTown, &GeneralAddressListCounty, - &GeneralAddressListPostCode, &GeneralAddressListCountry, - &GeneralAddressList, &GeneralAddressListLabel, - &GeneralAddressListLang, &GeneralAddressListAltID, - &GeneralAddressListPID, &GeneralAddressListTokens, - &GeneralAddressListGeo, &GeneralAddressListTimezone, - &GeneralAddressListType, &GeneralAddressListMediatype, - &GeneralAddressListPref); - -} - -void frmContactEditor::AddGeneralEmail( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorEmail *frameCEEmail = new frmContactEditorEmail ( this ); - frameCEEmail->SetEditorMode(FALSE, CE_GENERAL); - intResult = GetLastInt(&GeneralAddressList); - frameCEEmail->SetupPointers(&GeneralEmailList, - &GeneralEmailListAltID, - &GeneralEmailListPID, - &GeneralEmailListType, - &GeneralEmailListTokens, - &GeneralEmailListPref, - lboEmails, - (intValueSeek)); - frameCEEmail->ShowModal(); - delete frameCEEmail; - frameCEEmail = NULL; -} - -void frmContactEditor::ModifyGeneralEmail( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboEmails, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorEmail *frameCEEmail = new frmContactEditorEmail ( this ); - frameCEEmail->SetupPointers(&GeneralEmailList, - &GeneralEmailListAltID, - &GeneralEmailListPID, - &GeneralEmailListType, - &GeneralEmailListTokens, - &GeneralEmailListPref, - lboEmails, - intSelectedData); - frameCEEmail->SetEditorMode(TRUE, CE_GENERAL); - frameCEEmail->ShowModal(); - delete frameCEEmail; - frameCEEmail = NULL; -} - -void frmContactEditor::DeleteGeneralEmail( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboEmails, - &longSelected, - &intSelectedData)){ - return; - } - - lboEmails->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &GeneralEmailList, - &GeneralEmailListAltID, &GeneralEmailListPID, - &GeneralEmailListType, &GeneralEmailListTokens, - &GeneralEmailListPref); - -} - -void frmContactEditor::AddGeneralIM( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorIM *frameCEIM = new frmContactEditorIM ( this ); - frameCEIM->SetEditorMode(FALSE, CE_GENERAL); - intResult = GetLastInt(&GeneralIMList); - frameCEIM->SetupPointers(&GeneralIMList, - &GeneralIMListAltID, - &GeneralIMListPID, - &GeneralIMListType, - &GeneralIMListTokens, - &GeneralIMListMediatype, - &GeneralIMListPref, - lboIM, - (intValueSeek)); - frameCEIM->ShowModal(); - delete frameCEIM; - frameCEIM = NULL; -} - -void frmContactEditor::ModifyGeneralIM( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboIM, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorIM *frameCEIM = new frmContactEditorIM ( this ); - frameCEIM->SetupPointers(&GeneralIMList, - &GeneralIMListAltID, - &GeneralIMListPID, - &GeneralIMListType, - &GeneralIMListTokens, - &GeneralIMListMediatype, - &GeneralIMListPref, - lboIM, - intSelectedData); - frameCEIM->SetEditorMode(TRUE, CE_GENERAL); - frameCEIM->ShowModal(); - delete frameCEIM; - frameCEIM = NULL; -} - -void frmContactEditor::DeleteGeneralIM( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboIM, - &longSelected, - &intSelectedData)){ - return; - } - - lboIM->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &GeneralIMList, - &GeneralIMListAltID, &GeneralIMListPID, - &GeneralIMListType, &GeneralIMListTokens, - &GeneralIMListMediatype, &GeneralIMListPref); - -} - -void frmContactEditor::AddGeneralTelephone( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorTelephone *frameCETel = new frmContactEditorTelephone ( this ); - frameCETel->SetEditorMode(FALSE, CE_GENERAL); - intResult = GetLastInt(&GeneralTelephoneList); - frameCETel->SetupPointers(&GeneralTelephoneList, - &GeneralTelephoneListAltID, - &GeneralTelephoneListPID, - &GeneralTelephoneListType, - &GeneralTelephoneListTokens, - &GeneralTelephoneListPref, - lboTelephone, - (intValueSeek)); - frameCETel->ShowModal(); - delete frameCETel; - frameCETel = NULL; -} - -void frmContactEditor::ModifyGeneralTelephone( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboTelephone, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorTelephone *frameCETel = new frmContactEditorTelephone ( this ); - frameCETel->SetupPointers(&GeneralTelephoneList, - &GeneralTelephoneListAltID, - &GeneralTelephoneListPID, - &GeneralTelephoneListType, - &GeneralTelephoneListTokens, - &GeneralTelephoneListPref, - lboTelephone, - intSelectedData); - frameCETel->SetEditorMode(TRUE, CE_GENERAL); - frameCETel->ShowModal(); - delete frameCETel; - frameCETel = NULL; -} - -void frmContactEditor::DeleteGeneralTelephone( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboTelephone, - &longSelected, - &intSelectedData)){ - return; - } - - lboTelephone->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &GeneralTelephoneList, - &GeneralTelephoneListAltID, &GeneralTelephoneListPID, - &GeneralTelephoneListType, &GeneralTelephoneListTokens, - &GeneralTelephoneListPref); - -} - -void frmContactEditor::AddGeneralLanguages( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorLanguages *frameCELang = new frmContactEditorLanguages ( this ); - frameCELang->SetEditorMode(FALSE, CE_GENERAL); - intResult = GetLastInt(&GeneralLanguageList); - frameCELang->SetupPointers(&GeneralLanguageList, - &GeneralLanguageListAltID, - &GeneralLanguageListPID, - &GeneralLanguageListType, - &GeneralLanguageListTokens, - &GeneralLanguageListPref, - lboLanguages, - (intValueSeek)); - frameCELang->ShowModal(); - delete frameCELang; - frameCELang = NULL; -} - -void frmContactEditor::ModifyGeneralLanguages( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboLanguages, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorLanguages *frameCELang = new frmContactEditorLanguages ( this ); - frameCELang->SetupPointers(&GeneralLanguageList, - &GeneralLanguageListAltID, - &GeneralLanguageListPID, - &GeneralLanguageListType, - &GeneralLanguageListTokens, - &GeneralLanguageListPref, - lboLanguages, - intSelectedData); - frameCELang->SetEditorMode(TRUE, CE_GENERAL); - frameCELang->ShowModal(); - delete frameCELang; - frameCELang = NULL; -} - -void frmContactEditor::DeleteGeneralLanguage( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboLanguages, - &longSelected, - &intSelectedData)){ - return; - } - - lboLanguages->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &GeneralLanguageList, - &GeneralLanguageListAltID, &GeneralLanguageListPID, - &GeneralLanguageListType, &GeneralLanguageListTokens, - &GeneralLanguageListPref); - -} - -void frmContactEditor::AddGeneralTimezone( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorTimezones *frameCETZ = new frmContactEditorTimezones ( this ); - frameCETZ->SetEditorMode(FALSE, CE_GENERAL); - intResult = GetLastInt(&GeneralTZList); - frameCETZ->SetupPointers(&GeneralTZList, - &GeneralTZListAltID, - &GeneralTZListPID, - &GeneralTZListType, - &GeneralTZListTokens, - &GeneralTZListMediatype, - &GeneralTZListPref, - lboTimezones, - (intValueSeek)); - frameCETZ->ShowModal(); - delete frameCETZ; - frameCETZ = NULL; -} - -void frmContactEditor::ModifyGeneralTimezone( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboTimezones, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorTimezones *frameCETZ = new frmContactEditorTimezones ( this ); - frameCETZ->SetupPointers(&GeneralTZList, - &GeneralTZListAltID, - &GeneralTZListPID, - &GeneralTZListType, - &GeneralTZListTokens, - &GeneralTZListMediatype, - &GeneralTZListPref, - lboTimezones, - intSelectedData); - frameCETZ->SetEditorMode(TRUE, CE_GENERAL); - frameCETZ->ShowModal(); - delete frameCETZ; - frameCETZ = NULL; -} - -void frmContactEditor::DeleteGeneralTimezone( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboTimezones, - &longSelected, - &intSelectedData)){ - return; - } - - lboTimezones->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &GeneralTZList, - &GeneralTZListAltID, &GeneralTZListPID, - &GeneralTZListType, &GeneralTZListTokens, - &GeneralTZListMediatype, &GeneralTZListPref); - -} - -void frmContactEditor::AddGeneralGeoposition( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorGeoposition *frameCEGeo = new frmContactEditorGeoposition ( this ); - frameCEGeo->SetEditorMode(FALSE, CE_GENERAL); - intResult = GetLastInt(&GeneralGeographyList); - frameCEGeo->SetupPointers(&GeneralGeographyList, - &GeneralGeographyListAltID, - &GeneralGeographyListPID, - &GeneralGeographyListType, - &GeneralGeographyListTokens, - &GeneralGeographyListMediatype, - &GeneralGeographyListPref, - lboGeoposition, - (intValueSeek)); - frameCEGeo->ShowModal(); - delete frameCEGeo; - frameCEGeo = NULL; -} - -void frmContactEditor::ModifyGeneralGeoposition( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboGeoposition, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorGeoposition *frameCEGeo = new frmContactEditorGeoposition ( this ); - frameCEGeo->SetupPointers(&GeneralGeographyList, - &GeneralGeographyListAltID, - &GeneralGeographyListPID, - &GeneralGeographyListType, - &GeneralGeographyListTokens, - &GeneralGeographyListMediatype, - &GeneralGeographyListPref, - lboGeoposition, - intSelectedData); - frameCEGeo->SetEditorMode(TRUE, CE_GENERAL); - frameCEGeo->ShowModal(); - delete frameCEGeo; - frameCEGeo = NULL; -} - -void frmContactEditor::DeleteGeneralGeoposition( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboGeoposition, - &longSelected, - &intSelectedData)){ - return; - } - - lboGeoposition->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &GeneralGeographyList, - &GeneralGeographyListAltID, &GeneralGeographyListPID, - &GeneralGeographyListType, &GeneralGeographyListTokens, - &GeneralGeographyListMediatype, &GeneralGeographyListPref); - -} - -void frmContactEditor::AddGeneralRelated( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorRelated *frameCERel = new frmContactEditorRelated ( this ); - frameCERel->SetEditorMode(FALSE, CE_GENERAL); - intResult = GetLastInt(&GeneralRelatedList); - frameCERel->SetupPointers(&GeneralRelatedList, - &GeneralRelatedListRelType, - &GeneralRelatedListAltID, - &GeneralRelatedListPID, - &GeneralRelatedListType, - &GeneralRelatedListTokens, - &GeneralRelatedListPref, - lboRelated, - (intValueSeek)); - frameCERel->ShowModal(); - delete frameCERel; - frameCERel = NULL; -} - -void frmContactEditor::ModifyGeneralRelated( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboRelated, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorRelated *frameCERel = new frmContactEditorRelated ( this ); - frameCERel->SetupPointers(&GeneralRelatedList, - &GeneralRelatedListRelType, - &GeneralRelatedListAltID, - &GeneralRelatedListPID, - &GeneralRelatedListType, - &GeneralRelatedListTokens, - &GeneralRelatedListPref, - lboRelated, - intSelectedData); - frameCERel->SetEditorMode(TRUE, CE_GENERAL); - frameCERel->ShowModal(); - delete frameCERel; - frameCERel = NULL; -} - -void frmContactEditor::DeleteGeneralRelated( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboRelated, - &longSelected, - &intSelectedData)){ - return; - } - - lboRelated->DeleteItem(longSelected); - - GeneralRelatedList.erase(intSelectedData); - GeneralRelatedListRelType.erase(intSelectedData); - GeneralRelatedListAltID.erase(intSelectedData); - GeneralRelatedListPID.erase(intSelectedData); - GeneralRelatedListType.erase(intSelectedData); - GeneralRelatedListTokens.erase(intSelectedData); - GeneralRelatedListPref.erase(intSelectedData); -} - -void frmContactEditor::AddGeneralWebsite( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorWebsites *frameCEWeb = new frmContactEditorWebsites ( this ); - frameCEWeb->SetEditorMode(FALSE, CE_GENERAL); - intResult = GetLastInt(&GeneralWebsiteList); - frameCEWeb->SetupPointers(&GeneralWebsiteList, - &GeneralWebsiteListAltID, - &GeneralWebsiteListPID, - &GeneralWebsiteListType, - &GeneralWebsiteListTokens, - &GeneralWebsiteListMediatype, - &GeneralWebsiteListPref, - lboWebsites, - (intValueSeek)); - frameCEWeb->ShowModal(); - delete frameCEWeb; - frameCEWeb = NULL; -} - -void frmContactEditor::ModifyGeneralWebsite( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboWebsites, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorWebsites *frameCEWeb = new frmContactEditorWebsites ( this ); - frameCEWeb->SetupPointers(&GeneralWebsiteList, - &GeneralWebsiteListAltID, - &GeneralWebsiteListPID, - &GeneralWebsiteListType, - &GeneralWebsiteListTokens, - &GeneralWebsiteListMediatype, - &GeneralWebsiteListPref, - lboWebsites, - intSelectedData); - frameCEWeb->SetEditorMode(TRUE, CE_GENERAL); - frameCEWeb->ShowModal(); - delete frameCEWeb; - frameCEWeb = NULL; -} - -void frmContactEditor::DeleteGeneralWebsite( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboWebsites, - &longSelected, - &intSelectedData)){ - return; - } - - lboWebsites->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &GeneralWebsiteList, - &GeneralWebsiteListAltID, &GeneralWebsiteListPID, - &GeneralWebsiteListType, &GeneralWebsiteListTokens, - &GeneralWebsiteListMediatype, &GeneralWebsiteListPref); - -} - -void frmContactEditor::AddGeneralTitle( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorTitles *frameCETitle = new frmContactEditorTitles ( this ); - frameCETitle->SetEditorMode(FALSE, CE_GENERAL); - intResult = GetLastInt(&GeneralTitleList); - frameCETitle->SetupPointers(&GeneralTitleList, - &GeneralTitleListLanguage, - &GeneralTitleListAltID, - &GeneralTitleListPID, - &GeneralTitleListType, - &GeneralTitleListTokens, - &GeneralTitleListPref, - lboTitles, - (intValueSeek)); - frameCETitle->ShowModal(); - delete frameCETitle; - frameCETitle = NULL; -} - -void frmContactEditor::ModifyGeneralTitle( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboTitles, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorTitles *frameCETitle = new frmContactEditorTitles ( this ); - frameCETitle->SetupPointers(&GeneralTitleList, - &GeneralTitleListLanguage, - &GeneralTitleListAltID, - &GeneralTitleListPID, - &GeneralTitleListType, - &GeneralTitleListTokens, - &GeneralTitleListPref, - lboTitles, - intSelectedData); - frameCETitle->SetEditorMode(TRUE, CE_GENERAL); - frameCETitle->ShowModal(); - delete frameCETitle; - frameCETitle = NULL; -} - -void frmContactEditor::DeleteGeneralTitle( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboTitles, - &longSelected, - &intSelectedData)){ - return; - } - - lboTitles->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &GeneralTitleList, - &GeneralTitleListLanguage, &GeneralTitleListAltID, - &GeneralTitleListPID, &GeneralTitleListType, - &GeneralTitleListTokens, &GeneralTitleListPref); - -} - -void frmContactEditor::AddGeneralRole( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorRoles *frameCERole = new frmContactEditorRoles ( this ); - frameCERole->SetEditorMode(FALSE, CE_GENERAL); - intResult = GetLastInt(&GeneralRoleList); - frameCERole->SetupPointers(&GeneralRoleList, - &GeneralRoleListLanguage, - &GeneralRoleListAltID, - &GeneralRoleListPID, - &GeneralRoleListType, - &GeneralRoleListTokens, - &GeneralRoleListPref, - lboRoles, - (intValueSeek)); - frameCERole->ShowModal(); - delete frameCERole; - frameCERole = NULL; -} - -void frmContactEditor::ModifyGeneralRole( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboRoles, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorRoles *frameCERole = new frmContactEditorRoles ( this ); - frameCERole->SetupPointers(&GeneralRoleList, - &GeneralRoleListLanguage, - &GeneralRoleListAltID, - &GeneralRoleListPID, - &GeneralRoleListType, - &GeneralRoleListTokens, - &GeneralRoleListPref, - lboRoles, - intSelectedData); - frameCERole->SetEditorMode(TRUE, CE_GENERAL); - frameCERole->ShowModal(); - delete frameCERole; - frameCERole = NULL; -} - -void frmContactEditor::DeleteGeneralRole( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboRoles, - &longSelected, - &intSelectedData)){ - return; - } - - lboRoles->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &GeneralRoleList, - &GeneralRoleListLanguage, &GeneralRoleListAltID, - &GeneralRoleListPID, &GeneralRoleListType, - &GeneralRoleListTokens, &GeneralRoleListPref); - -} - -void frmContactEditor::AddGeneralOrganisation( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorOrganisations *frameCEOrg = new frmContactEditorOrganisations ( this ); - frameCEOrg->SetEditorMode(FALSE, CE_GENERAL); - intResult = GetLastInt(&GeneralOrganisationsList); - frameCEOrg->SetupPointers(&GeneralOrganisationsList, - &GeneralOrganisationsListLanguage, - &GeneralOrganisationsListSortAs, - &GeneralOrganisationsListAltID, - &GeneralOrganisationsListPID, - &GeneralOrganisationsListType, - &GeneralOrganisationsListTokens, - &GeneralOrganisationsListPref, - lboOrganisations, - (intValueSeek)); - frameCEOrg->ShowModal(); - delete frameCEOrg; - frameCEOrg = NULL; -} - -void frmContactEditor::ModifyGeneralOrganisation( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboOrganisations, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorOrganisations *frameCEOrg = new frmContactEditorOrganisations ( this ); - frameCEOrg->SetupPointers(&GeneralOrganisationsList, - &GeneralOrganisationsListLanguage, - &GeneralOrganisationsListSortAs, - &GeneralOrganisationsListAltID, - &GeneralOrganisationsListPID, - &GeneralOrganisationsListType, - &GeneralOrganisationsListTokens, - &GeneralOrganisationsListPref, - lboOrganisations, - intSelectedData); - frameCEOrg->SetEditorMode(TRUE, CE_GENERAL); - frameCEOrg->ShowModal(); - delete frameCEOrg; - frameCEOrg = NULL; -} - -void frmContactEditor::DeleteGeneralOrganisation( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboOrganisations, - &longSelected, - &intSelectedData)){ - return; - } - - lboOrganisations->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &GeneralOrganisationsList, - &GeneralOrganisationsListLanguage, &GeneralOrganisationsListSortAs, - &GeneralOrganisationsListAltID, &GeneralOrganisationsListPID, - &GeneralOrganisationsListType, &GeneralOrganisationsListTokens, - &GeneralOrganisationsListPref); - -} - -void frmContactEditor::AddGeneralNote( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorNotes *frameCENote = new frmContactEditorNotes ( this ); - frameCENote->SetEditorMode(FALSE, CE_GENERAL); - intResult = GetLastInt(&GeneralNoteList); - frameCENote->SetupPointers(&GeneralNoteList, - &GeneralNoteListLanguage, - &GeneralNoteListAltID, - &GeneralNoteListPID, - &GeneralNoteListType, - &GeneralNoteListTokens, - &GeneralNoteListPref, - lboNotes, - (intValueSeek)); - frameCENote->ShowModal(); - delete frameCENote; - frameCENote = NULL; -} - -void frmContactEditor::ModifyGeneralNote( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboNotes, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorNotes *frameCENote = new frmContactEditorNotes ( this ); - frameCENote->SetupPointers(&GeneralNoteList, - &GeneralNoteListLanguage, - &GeneralNoteListAltID, - &GeneralNoteListPID, - &GeneralNoteListType, - &GeneralNoteListTokens, - &GeneralNoteListPref, - lboNotes, - intSelectedData); - frameCENote->SetEditorMode(TRUE, CE_GENERAL); - frameCENote->ShowModal(); - delete frameCENote; - frameCENote = NULL; -} - -void frmContactEditor::DeleteGeneralNote( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboNotes, - &longSelected, - &intSelectedData)){ - return; - } - - lboNotes->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &GeneralNoteList, - &GeneralNoteListLanguage, &GeneralNoteListAltID, - &GeneralNoteListPID, &GeneralNoteListType, - &GeneralNoteListTokens, &GeneralNoteListPref); - -} - -void frmContactEditor::AddHomeNickname( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorNickname *frameCENickname = new frmContactEditorNickname ( this ); - frameCENickname->SetEditorMode(FALSE, CE_HOME); - intResult = GetLastInt(&HomeNicknamesList); - frameCENickname->SetupPointers(&HomeNicknamesList, - &HomeNicknamesListAltID, - &HomeNicknamesListPID, - &HomeNicknamesListType, - &HomeNicknamesListLanguage, - &HomeNicknamesListTokens, - &HomeNicknamesListPref, - lboHomeNicknames, - (intValueSeek)); - frameCENickname->ShowModal(); - delete frameCENickname; - frameCENickname = NULL; -} - -void frmContactEditor::ModifyHomeNickname( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboHomeNicknames, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorNickname *frameCENickname = new frmContactEditorNickname ( this ); - frameCENickname->SetupPointers(&HomeNicknamesList, - &HomeNicknamesListAltID, - &HomeNicknamesListPID, - &HomeNicknamesListType, - &HomeNicknamesListLanguage, - &HomeNicknamesListTokens, - &HomeNicknamesListPref, - lboHomeNicknames, - intSelectedData); - frameCENickname->SetEditorMode(TRUE, CE_HOME); - frameCENickname->ShowModal(); - delete frameCENickname; - frameCENickname = NULL; -} - -void frmContactEditor::DeleteHomeNickname( wxCommandEvent& event ) -{ - - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboHomeNicknames, - &longSelected, - &intSelectedData)){ - return; - } - - lboHomeNicknames->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, - &HomeNicknamesList, - &HomeNicknamesListLanguage, - &HomeNicknamesListAltID, - &HomeNicknamesListPID, - &HomeNicknamesListTokens, - &HomeNicknamesListType, - &HomeNicknamesListPref); - -} - -void frmContactEditor::AddHomeAddress( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorAddress *frameCEAddress = new frmContactEditorAddress ( this ); - frameCEAddress->SetEditorMode(FALSE, CE_HOME); - intResult = GetLastInt(&HomeAddressList); - frameCEAddress->SetupPointers(&HomeAddressList, - &HomeAddressListTown, - &HomeAddressListCounty, - &HomeAddressListPostCode, - &HomeAddressListCountry, - &HomeAddressListLabel, - &HomeAddressListLang, - &HomeAddressListAltID, - &HomeAddressListPID, - &HomeAddressListTokens, - &HomeAddressListGeo, - &HomeAddressListTimezone, - &HomeAddressListType, - &HomeAddressListMediatype, - &HomeAddressListPref, - lboHomeAddresses, - (intValueSeek)); - frameCEAddress->ShowModal(); - delete frameCEAddress; - frameCEAddress = NULL; -} - -void frmContactEditor::ModifyHomeAddress( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboHomeAddresses, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorAddress *frameCEAddress = new frmContactEditorAddress ( this ); - frameCEAddress->SetupPointers(&HomeAddressList, - &HomeAddressListTown, - &HomeAddressListCounty, - &HomeAddressListPostCode, - &HomeAddressListCountry, - &HomeAddressListLabel, - &HomeAddressListLang, - &HomeAddressListAltID, - &HomeAddressListPID, - &HomeAddressListTokens, - &HomeAddressListGeo, - &HomeAddressListTimezone, - &HomeAddressListType, - &HomeAddressListMediatype, - &HomeAddressListPref, - lboHomeAddresses, - intSelectedData); - frameCEAddress->SetEditorMode(TRUE, CE_HOME); - frameCEAddress->ShowModal(); - delete frameCEAddress; - frameCEAddress = NULL; -} - -void frmContactEditor::DeleteHomeAddress( wxCommandEvent& event ) -{ - - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboHomeAddresses, - &longSelected, - &intSelectedData)){ - return; - } - - lboHomeAddresses->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &HomeAddressList, - &HomeAddressListTown, &HomeAddressListCounty, - &HomeAddressListPostCode, &HomeAddressListCountry, - &HomeAddressList, &HomeAddressListLabel, - &HomeAddressListLang, &HomeAddressListAltID, - &HomeAddressListPID, &HomeAddressListTokens, - &HomeAddressListGeo, &HomeAddressListTimezone, - &HomeAddressListType, &HomeAddressListMediatype, - &HomeAddressListPref); - -} - -void frmContactEditor::AddHomeEmail( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorEmail *frameCEEmail = new frmContactEditorEmail ( this ); - frameCEEmail->SetEditorMode(FALSE, CE_HOME); - intResult = GetLastInt(&HomeAddressList); - frameCEEmail->SetupPointers(&HomeEmailList, - &HomeEmailListAltID, - &HomeEmailListPID, - &HomeEmailListType, - &HomeEmailListTokens, - &HomeEmailListPref, - lboHomeEmails, - (intValueSeek)); - frameCEEmail->ShowModal(); - delete frameCEEmail; - frameCEEmail = NULL; -} - -void frmContactEditor::ModifyHomeEmail( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboHomeEmails, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorEmail *frameCEEmail = new frmContactEditorEmail ( this ); - frameCEEmail->SetupPointers(&HomeEmailList, - &HomeEmailListAltID, - &HomeEmailListPID, - &HomeEmailListType, - &HomeEmailListTokens, - &HomeEmailListPref, - lboHomeEmails, - intSelectedData); - frameCEEmail->SetEditorMode(TRUE, CE_HOME); - frameCEEmail->ShowModal(); - delete frameCEEmail; - frameCEEmail = NULL; -} - - -void frmContactEditor::DeleteHomeEmail( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboHomeEmails, - &longSelected, - &intSelectedData)){ - return; - } - - lboHomeEmails->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &HomeEmailList, - &HomeEmailListAltID, &HomeEmailListPID, - &HomeEmailListType, &HomeEmailListTokens, - &HomeEmailListPref); -} - - -void frmContactEditor::AddHomeIM( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorIM *frameCEIM = new frmContactEditorIM ( this ); - frameCEIM->SetEditorMode(FALSE, CE_HOME); - intResult = GetLastInt(&HomeIMList); - frameCEIM->SetupPointers(&HomeIMList, - &HomeIMListAltID, - &HomeIMListPID, - &HomeIMListType, - &HomeIMListTokens, - &HomeIMListMediatype, - &HomeIMListPref, - lboHomeIM, - (intValueSeek)); - frameCEIM->ShowModal(); - delete frameCEIM; - frameCEIM = NULL; -} - -void frmContactEditor::ModifyHomeIM( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboHomeIM, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorIM *frameCEIM = new frmContactEditorIM ( this ); - frameCEIM->SetupPointers(&HomeIMList, - &HomeIMListAltID, - &HomeIMListPID, - &HomeIMListType, - &HomeIMListTokens, - &HomeIMListMediatype, - &HomeIMListPref, - lboHomeIM, - intSelectedData); - frameCEIM->SetEditorMode(TRUE, CE_HOME); - frameCEIM->ShowModal(); - delete frameCEIM; - frameCEIM = NULL; -} - -void frmContactEditor::DeleteHomeIM( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboHomeIM, - &longSelected, - &intSelectedData)){ - return; - } - - lboHomeIM->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &HomeIMList, - &HomeIMListAltID, &HomeIMListPID, - &HomeIMListType, &HomeIMListTokens, - &HomeIMListMediatype, &HomeIMListPref); - -} - -void frmContactEditor::AddHomeTelephone( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorTelephone *frameCETel = new frmContactEditorTelephone ( this ); - frameCETel->SetEditorMode(FALSE, CE_HOME); - intResult = GetLastInt(&HomeTelephoneList); - frameCETel->SetupPointers(&HomeTelephoneList, - &HomeTelephoneListAltID, - &HomeTelephoneListPID, - &HomeTelephoneListType, - &HomeTelephoneListTokens, - &HomeTelephoneListPref, - lboHomeTelephone, - (intValueSeek)); - frameCETel->ShowModal(); - delete frameCETel; - frameCETel = NULL; -} - -void frmContactEditor::ModifyHomeTelephone( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboHomeTelephone, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorTelephone *frameCETel = new frmContactEditorTelephone ( this ); - frameCETel->SetupPointers(&HomeTelephoneList, - &HomeTelephoneListAltID, - &HomeTelephoneListPID, - &HomeTelephoneListType, - &HomeTelephoneListTokens, - &HomeTelephoneListPref, - lboHomeTelephone, - intSelectedData); - frameCETel->SetEditorMode(TRUE, CE_HOME); - frameCETel->ShowModal(); - delete frameCETel; - frameCETel = NULL; -} - -void frmContactEditor::DeleteHomeTelephone( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboHomeTelephone, - &longSelected, - &intSelectedData)){ - return; - } - - lboHomeTelephone->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &HomeTelephoneList, - &HomeTelephoneListAltID, &HomeTelephoneListPID, - &HomeTelephoneListType, &HomeTelephoneListTokens, - &HomeTelephoneListPref); - -} - -void frmContactEditor::AddHomeLanguage( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorLanguages *frameCELang = new frmContactEditorLanguages ( this ); - frameCELang->SetEditorMode(FALSE, CE_HOME); - intResult = GetLastInt(&HomeLanguageList); - frameCELang->SetupPointers(&HomeLanguageList, - &HomeLanguageListAltID, - &HomeLanguageListPID, - &HomeLanguageListType, - &HomeLanguageListTokens, - &HomeLanguageListPref, - lboHomeLanguages, - (intValueSeek)); - frameCELang->ShowModal(); - delete frameCELang; - frameCELang = NULL; -} - -void frmContactEditor::ModifyHomeLanguage( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboHomeLanguages, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorLanguages *frameCELang = new frmContactEditorLanguages ( this ); - frameCELang->SetupPointers(&HomeLanguageList, - &HomeLanguageListAltID, - &HomeLanguageListPID, - &HomeLanguageListType, - &HomeLanguageListTokens, - &HomeLanguageListPref, - lboHomeLanguages, - intSelectedData); - frameCELang->SetEditorMode(TRUE, CE_HOME); - frameCELang->ShowModal(); - delete frameCELang; - frameCELang = NULL; -} - -void frmContactEditor::DeleteHomeLanguage( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboHomeLanguages, - &longSelected, - &intSelectedData)){ - return; - } - - lboHomeLanguages->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &HomeLanguageList, - &HomeLanguageListAltID, &HomeLanguageListPID, - &HomeLanguageListType, &HomeLanguageListTokens, - &HomeLanguageListPref); - -} - -void frmContactEditor::AddHomeTimezone( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorTimezones *frameCETZ = new frmContactEditorTimezones ( this ); - frameCETZ->SetEditorMode(FALSE, CE_HOME); - intResult = GetLastInt(&HomeTZList); - frameCETZ->SetupPointers(&HomeTZList, - &HomeTZListAltID, - &HomeTZListPID, - &HomeTZListType, - &HomeTZListTokens, - &HomeTZListMediatype, - &HomeTZListPref, - lboHomeTimezones, - (intValueSeek)); - frameCETZ->ShowModal(); - delete frameCETZ; - frameCETZ = NULL; -} - -void frmContactEditor::ModifyHomeTimezone( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboHomeTimezones, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorTimezones *frameCETZ = new frmContactEditorTimezones ( this ); - frameCETZ->SetupPointers(&HomeTZList, - &HomeTZListAltID, - &HomeTZListPID, - &HomeTZListType, - &HomeTZListTokens, - &HomeTZListMediatype, - &HomeTZListPref, - lboHomeTimezones, - intSelectedData); - frameCETZ->SetEditorMode(TRUE, CE_HOME); - frameCETZ->ShowModal(); - delete frameCETZ; - frameCETZ = NULL; -} - -void frmContactEditor::DeleteHomeTimezone( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboHomeTimezones, - &longSelected, - &intSelectedData)){ - return; - } - - lboHomeTimezones->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &HomeTZList, - &HomeTZListAltID, &HomeTZListPID, - &HomeTZListType, &HomeTZListTokens, - &HomeTZListMediatype, &HomeTZListPref); - -} - -void frmContactEditor::AddHomeGeoposition( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorGeoposition *frameCEGeo = new frmContactEditorGeoposition ( this ); - frameCEGeo->SetEditorMode(FALSE, CE_HOME); - intResult = GetLastInt(&HomeGeographyList); - frameCEGeo->SetupPointers(&HomeGeographyList, - &HomeGeographyListAltID, - &HomeGeographyListPID, - &HomeGeographyListType, - &HomeGeographyListTokens, - &HomeGeographyListMediatype, - &HomeGeographyListPref, - lboHomeGeoposition, - (intValueSeek)); - frameCEGeo->ShowModal(); - delete frameCEGeo; - frameCEGeo = NULL; -} - -void frmContactEditor::ModifyHomeGeoposition( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboHomeGeoposition, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorGeoposition *frameCEGeo = new frmContactEditorGeoposition ( this ); - frameCEGeo->SetupPointers(&HomeGeographyList, - &HomeGeographyListAltID, - &HomeGeographyListPID, - &HomeGeographyListType, - &HomeGeographyListTokens, - &HomeGeographyListMediatype, - &HomeGeographyListPref, - lboHomeGeoposition, - intSelectedData); - frameCEGeo->SetEditorMode(TRUE, CE_HOME); - frameCEGeo->ShowModal(); - delete frameCEGeo; - frameCEGeo = NULL; -} - -void frmContactEditor::DeleteHomeGeoposition( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboHomeGeoposition, - &longSelected, - &intSelectedData)){ - return; - } - - lboHomeGeoposition->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &HomeGeographyList, - &HomeGeographyListAltID, &HomeGeographyListPID, - &HomeGeographyListType, &HomeGeographyListTokens, - &HomeGeographyListMediatype, &HomeGeographyListPref); - -} - -void frmContactEditor::AddHomeWebsite( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorWebsites *frameCEWeb = new frmContactEditorWebsites ( this ); - frameCEWeb->SetEditorMode(FALSE, CE_HOME); - intResult = GetLastInt(&HomeWebsiteList); - frameCEWeb->SetupPointers(&HomeWebsiteList, - &HomeWebsiteListAltID, - &HomeWebsiteListPID, - &HomeWebsiteListType, - &HomeWebsiteListTokens, - &HomeWebsiteListMediatype, - &HomeWebsiteListPref, - lboHomeWebsites, - (intValueSeek)); - frameCEWeb->ShowModal(); - delete frameCEWeb; - frameCEWeb = NULL; -} - -void frmContactEditor::ModifyHomeWebsite( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboHomeWebsites, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorWebsites *frameCEWeb = new frmContactEditorWebsites ( this ); - frameCEWeb->SetupPointers(&HomeWebsiteList, - &HomeWebsiteListAltID, - &HomeWebsiteListPID, - &HomeWebsiteListType, - &HomeWebsiteListTokens, - &HomeWebsiteListMediatype, - &HomeWebsiteListPref, - lboHomeWebsites, - intSelectedData); - frameCEWeb->SetEditorMode(TRUE, CE_HOME); - frameCEWeb->ShowModal(); - delete frameCEWeb; - frameCEWeb = NULL; -} - -void frmContactEditor::DeleteHomeWebsite( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboHomeWebsites, - &longSelected, - &intSelectedData)){ - return; - } - - lboHomeWebsites->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &HomeWebsiteList, - &HomeWebsiteListAltID, &HomeWebsiteListPID, - &HomeWebsiteListType, &HomeWebsiteListTokens, - &HomeWebsiteListMediatype, &HomeWebsiteListPref); - -} - -void frmContactEditor::AddHomeTitle( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorTitles *frameCETitle = new frmContactEditorTitles ( this ); - frameCETitle->SetEditorMode(FALSE, CE_HOME); - intResult = GetLastInt(&HomeTitleList); - frameCETitle->SetupPointers(&HomeTitleList, - &HomeTitleListLanguage, - &HomeTitleListAltID, - &HomeTitleListPID, - &HomeTitleListType, - &HomeTitleListTokens, - &HomeTitleListPref, - lboHomeTitles, - (intValueSeek)); - frameCETitle->ShowModal(); - delete frameCETitle; - frameCETitle = NULL; -} - -void frmContactEditor::ModifyHomeTitle( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboHomeTitles, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorTitles *frameCETitle = new frmContactEditorTitles ( this ); - frameCETitle->SetupPointers(&HomeTitleList, - &HomeTitleListLanguage, - &HomeTitleListAltID, - &HomeTitleListPID, - &HomeTitleListType, - &HomeTitleListTokens, - &HomeTitleListPref, - lboHomeTitles, - intSelectedData); - frameCETitle->SetEditorMode(TRUE, CE_HOME); - frameCETitle->ShowModal(); - delete frameCETitle; - frameCETitle = NULL; -} - -void frmContactEditor::DeleteHomeTitle( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboHomeTitles, - &longSelected, - &intSelectedData)){ - return; - } - - lboHomeTitles->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &HomeTitleList, - &HomeTitleListLanguage, &HomeTitleListAltID, - &HomeTitleListPID, &HomeTitleListType, - &HomeTitleListTokens, &HomeTitleListPref); - -} - -void frmContactEditor::AddHomeRole( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorRoles *frameCERole = new frmContactEditorRoles ( this ); - frameCERole->SetEditorMode(FALSE, CE_HOME); - intResult = GetLastInt(&HomeRoleList); - frameCERole->SetupPointers(&HomeRoleList, - &HomeRoleListLanguage, - &HomeRoleListAltID, - &HomeRoleListPID, - &HomeRoleListType, - &HomeRoleListTokens, - &HomeRoleListPref, - lboHomeRoles, - (intValueSeek)); - frameCERole->ShowModal(); - delete frameCERole; - frameCERole = NULL; -} - -void frmContactEditor::ModifyHomeRole( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboHomeRoles, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorRoles *frameCERole = new frmContactEditorRoles ( this ); - frameCERole->SetupPointers(&HomeRoleList, - &HomeRoleListLanguage, - &HomeRoleListAltID, - &HomeRoleListPID, - &HomeRoleListType, - &HomeRoleListTokens, - &HomeRoleListPref, - lboHomeRoles, - intSelectedData); - frameCERole->SetEditorMode(TRUE, CE_HOME); - frameCERole->ShowModal(); - delete frameCERole; - frameCERole = NULL; -} - -void frmContactEditor::DeleteHomeRole( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboHomeRoles, - &longSelected, - &intSelectedData)){ - return; - } - - lboHomeRoles->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &HomeRoleList, - &HomeRoleListLanguage, &HomeRoleListAltID, - &HomeRoleListPID, &HomeRoleListType, - &HomeRoleListTokens, &HomeRoleListPref); - -} - -void frmContactEditor::AddHomeOrganisation( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorOrganisations *frameCEOrg = new frmContactEditorOrganisations ( this ); - frameCEOrg->SetEditorMode(FALSE, CE_HOME); - intResult = GetLastInt(&HomeOrganisationsList); - frameCEOrg->SetupPointers(&HomeOrganisationsList, - &HomeOrganisationsListLanguage, - &HomeOrganisationsListSortAs, - &HomeOrganisationsListAltID, - &HomeOrganisationsListPID, - &HomeOrganisationsListType, - &HomeOrganisationsListTokens, - &HomeOrganisationsListPref, - lboHomeOrganisations, - (intValueSeek)); - frameCEOrg->ShowModal(); - delete frameCEOrg; - frameCEOrg = NULL; -} - -void frmContactEditor::ModifyHomeOrganisation( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboHomeOrganisations, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorOrganisations *frameCEOrg = new frmContactEditorOrganisations ( this ); - frameCEOrg->SetupPointers(&HomeOrganisationsList, - &HomeOrganisationsListLanguage, - &HomeOrganisationsListSortAs, - &HomeOrganisationsListAltID, - &HomeOrganisationsListPID, - &HomeOrganisationsListType, - &HomeOrganisationsListTokens, - &HomeOrganisationsListPref, - lboHomeOrganisations, - intSelectedData); - frameCEOrg->SetEditorMode(TRUE, CE_HOME); - frameCEOrg->ShowModal(); - delete frameCEOrg; - frameCEOrg = NULL; -} - -void frmContactEditor::DeleteHomeOrganisation( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboHomeOrganisations, - &longSelected, - &intSelectedData)){ - return; - } - - lboHomeOrganisations->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &HomeOrganisationsList, - &HomeOrganisationsListLanguage, &HomeOrganisationsListSortAs, - &HomeOrganisationsListAltID, &HomeOrganisationsListPID, - &HomeOrganisationsListType, &HomeOrganisationsListTokens, - &HomeOrganisationsListPref); - -} - -void frmContactEditor::AddHomeNote( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorNotes *frameCENote = new frmContactEditorNotes ( this ); - frameCENote->SetEditorMode(FALSE, CE_HOME); - intResult = GetLastInt(&HomeNoteList); - frameCENote->SetupPointers(&HomeNoteList, - &HomeNoteListLanguage, - &HomeNoteListAltID, - &HomeNoteListPID, - &HomeNoteListType, - &HomeNoteListTokens, - &HomeNoteListPref, - lboHomeNotes, - (intValueSeek)); - frameCENote->ShowModal(); - delete frameCENote; - frameCENote = NULL; -} - -void frmContactEditor::ModifyHomeNote( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboHomeNotes, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorNotes *frameCENote = new frmContactEditorNotes ( this ); - frameCENote->SetupPointers(&HomeNoteList, - &HomeNoteListLanguage, - &HomeNoteListAltID, - &HomeNoteListPID, - &HomeNoteListType, - &HomeNoteListTokens, - &HomeNoteListPref, - lboHomeNotes, - intSelectedData); - frameCENote->SetEditorMode(TRUE, CE_HOME); - frameCENote->ShowModal(); - delete frameCENote; - frameCENote = NULL; -} - -void frmContactEditor::DeleteHomeNote( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboHomeNotes, - &longSelected, - &intSelectedData)){ - return; - } - - lboNotes->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &HomeNoteList, - &HomeNoteListLanguage, &HomeNoteListAltID, - &HomeNoteListPID, &HomeNoteListType, - &HomeNoteListTokens, &HomeNoteListPref); - -} - -void frmContactEditor::AddBusinessNickname( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorNickname *frameCENickname = new frmContactEditorNickname ( this ); - frameCENickname->SetEditorMode(FALSE, CE_WORK); - intResult = GetLastInt(&BusinessNicknamesList); - frameCENickname->SetupPointers(&BusinessNicknamesList, - &BusinessNicknamesListAltID, - &BusinessNicknamesListPID, - &BusinessNicknamesListType, - &BusinessNicknamesListLanguage, - &BusinessNicknamesListTokens, - &BusinessNicknamesListPref, - lboBusinessNicknames, - (intValueSeek)); - frameCENickname->ShowModal(); - delete frameCENickname; - frameCENickname = NULL; -} - -void frmContactEditor::ModifyBusinessNickname( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboBusinessNicknames, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorNickname *frameCENickname = new frmContactEditorNickname ( this ); - frameCENickname->SetupPointers(&BusinessNicknamesList, - &BusinessNicknamesListAltID, - &BusinessNicknamesListPID, - &BusinessNicknamesListType, - &BusinessNicknamesListLanguage, - &BusinessNicknamesListTokens, - &BusinessNicknamesListPref, - lboBusinessNicknames, - intSelectedData); - frameCENickname->SetEditorMode(TRUE, CE_WORK); - frameCENickname->ShowModal(); - delete frameCENickname; - frameCENickname = NULL; -} - -void frmContactEditor::DeleteBusinessNickname( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboBusinessNicknames, - &longSelected, - &intSelectedData)){ - return; - } - - lboBusinessNicknames->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, - &BusinessNicknamesList, - &BusinessNicknamesListLanguage, - &BusinessNicknamesListAltID, - &BusinessNicknamesListPID, - &BusinessNicknamesListTokens, - &BusinessNicknamesListType, - &BusinessNicknamesListPref); -} - -void frmContactEditor::AddBusinessAddress( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorAddress *frameCEAddress = new frmContactEditorAddress ( this ); - frameCEAddress->SetEditorMode(FALSE, CE_WORK); - intResult = GetLastInt(&BusinessAddressList); - frameCEAddress->SetupPointers(&BusinessAddressList, - &BusinessAddressListTown, - &BusinessAddressListCounty, - &BusinessAddressListPostCode, - &BusinessAddressListCountry, - &BusinessAddressListLabel, - &BusinessAddressListLang, - &BusinessAddressListAltID, - &BusinessAddressListPID, - &BusinessAddressListTokens, - &BusinessAddressListGeo, - &BusinessAddressListTimezone, - &BusinessAddressListType, - &BusinessAddressListMediatype, - &BusinessAddressListPref, - lboBusinessAddresses, - (intValueSeek)); - frameCEAddress->ShowModal(); - delete frameCEAddress; - frameCEAddress = NULL; -} - -void frmContactEditor::ModifyBusinessAddress( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboBusinessAddresses, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorAddress *frameCEAddress = new frmContactEditorAddress ( this ); - frameCEAddress->SetupPointers(&BusinessAddressList, - &BusinessAddressListTown, - &BusinessAddressListCounty, - &BusinessAddressListPostCode, - &BusinessAddressListCountry, - &BusinessAddressListLabel, - &BusinessAddressListLang, - &BusinessAddressListAltID, - &BusinessAddressListPID, - &BusinessAddressListTokens, - &BusinessAddressListGeo, - &BusinessAddressListTimezone, - &BusinessAddressListType, - &BusinessAddressListMediatype, - &BusinessAddressListPref, - lboBusinessAddresses, - intSelectedData); - frameCEAddress->SetEditorMode(TRUE, CE_WORK); - frameCEAddress->ShowModal(); - delete frameCEAddress; - frameCEAddress = NULL; -} - -void frmContactEditor::DeleteBusinessAddress( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboBusinessAddresses, - &longSelected, - &intSelectedData)){ - return; - } - - lboBusinessAddresses->DeleteItem(longSelected); - DeleteMapData(intSelectedData, &BusinessAddressList, - &BusinessAddressListTown, &BusinessAddressListCounty, - &BusinessAddressListPostCode, &BusinessAddressListCountry, - &BusinessAddressList, &BusinessAddressListLabel, - &BusinessAddressListLang, &BusinessAddressListAltID, - &BusinessAddressListPID, &BusinessAddressListTokens, - &BusinessAddressListGeo, &BusinessAddressListTimezone, - &BusinessAddressListType, &BusinessAddressListMediatype, - &BusinessAddressListPref); - -} - -void frmContactEditor::AddBusinessEmail( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorEmail *frameCEEmail = new frmContactEditorEmail ( this ); - frameCEEmail->SetEditorMode(FALSE, CE_WORK); - intResult = GetLastInt(&BusinessAddressList); - frameCEEmail->SetupPointers(&BusinessEmailList, - &BusinessEmailListAltID, - &BusinessEmailListPID, - &BusinessEmailListType, - &BusinessEmailListTokens, - &BusinessEmailListPref, - lboBusinessEmail, - (intValueSeek)); - frameCEEmail->ShowModal(); - delete frameCEEmail; - frameCEEmail = NULL; -} - -void frmContactEditor::ModifyBusinessEmail( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboBusinessEmail, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorEmail *frameCEEmail = new frmContactEditorEmail ( this ); - frameCEEmail->SetupPointers(&BusinessEmailList, - &BusinessEmailListAltID, - &BusinessEmailListPID, - &BusinessEmailListType, - &BusinessEmailListTokens, - &BusinessEmailListPref, - lboBusinessEmail, - intSelectedData); - frameCEEmail->SetEditorMode(TRUE, CE_WORK); - frameCEEmail->ShowModal(); - delete frameCEEmail; - frameCEEmail = NULL; -} - -void frmContactEditor::DeleteBusinessEmail( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboBusinessEmail, - &longSelected, - &intSelectedData)){ - return; - } - - lboBusinessEmail->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &BusinessEmailList, - &BusinessEmailListAltID, &BusinessEmailListPID, - &BusinessEmailListType, &BusinessEmailListTokens, - &BusinessEmailListPref); - -} - -void frmContactEditor::AddBusinessIM( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorIM *frameCEIM = new frmContactEditorIM ( this ); - frameCEIM->SetEditorMode(FALSE, CE_WORK); - intResult = GetLastInt(&BusinessIMList); - frameCEIM->SetupPointers(&BusinessIMList, - &BusinessIMListAltID, - &BusinessIMListPID, - &BusinessIMListType, - &BusinessIMListTokens, - &BusinessIMListMediatype, - &BusinessIMListPref, - lboBusinessIM, - (intValueSeek)); - frameCEIM->ShowModal(); - delete frameCEIM; - frameCEIM = NULL; -} - -void frmContactEditor::ModifyBusinessIM( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboBusinessIM, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorIM *frameCEIM = new frmContactEditorIM ( this ); - frameCEIM->SetupPointers(&BusinessIMList, - &BusinessIMListAltID, - &BusinessIMListPID, - &BusinessIMListType, - &BusinessIMListTokens, - &BusinessIMListMediatype, - &BusinessIMListPref, - lboBusinessIM, - intSelectedData); - frameCEIM->SetEditorMode(TRUE, CE_WORK); - frameCEIM->ShowModal(); - delete frameCEIM; - frameCEIM = NULL; -} - -void frmContactEditor::DeleteBusinessIM( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboBusinessIM, - &longSelected, - &intSelectedData)){ - return; - } - - lboBusinessIM->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &BusinessIMList, - &BusinessIMListAltID, &BusinessIMListPID, - &BusinessIMListType, &BusinessIMListTokens, - &BusinessIMListMediatype, &BusinessIMListPref); - -} - -void frmContactEditor::AddBusinessTelephone( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorTelephone *frameCETel = new frmContactEditorTelephone ( this ); - frameCETel->SetEditorMode(FALSE, CE_WORK); - intResult = GetLastInt(&BusinessTelephoneList); - frameCETel->SetupPointers(&BusinessTelephoneList, - &BusinessTelephoneListAltID, - &BusinessTelephoneListPID, - &BusinessTelephoneListType, - &BusinessTelephoneListTokens, - &BusinessTelephoneListPref, - lboBusinessTelephone, - (intValueSeek)); - frameCETel->ShowModal(); - delete frameCETel; - frameCETel = NULL; -} - -void frmContactEditor::ModifyBusinessTelephone( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboBusinessTelephone, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorTelephone *frameCETel = new frmContactEditorTelephone ( this ); - frameCETel->SetupPointers(&BusinessTelephoneList, - &BusinessTelephoneListAltID, - &BusinessTelephoneListPID, - &BusinessTelephoneListType, - &BusinessTelephoneListTokens, - &BusinessTelephoneListPref, - lboBusinessTelephone, - intSelectedData); - frameCETel->SetEditorMode(TRUE, CE_WORK); - frameCETel->ShowModal(); - delete frameCETel; - frameCETel = NULL; -} - -void frmContactEditor::DeleteBusinessTelephone( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboBusinessTelephone, - &longSelected, - &intSelectedData)){ - return; - } - - lboBusinessTelephone->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &BusinessTelephoneList, - &BusinessTelephoneListAltID, &BusinessTelephoneListPID, - &BusinessTelephoneListType, &BusinessTelephoneListTokens, - &BusinessTelephoneListPref); - -} - -void frmContactEditor::AddBusinessLanguage( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorLanguages *frameCELang = new frmContactEditorLanguages ( this ); - frameCELang->SetEditorMode(FALSE, CE_WORK); - intResult = GetLastInt(&BusinessLanguageList); - frameCELang->SetupPointers(&BusinessLanguageList, - &BusinessLanguageListAltID, - &BusinessLanguageListPID, - &BusinessLanguageListType, - &BusinessLanguageListTokens, - &BusinessLanguageListPref, - lboBusinessLanguages, - (intValueSeek)); - frameCELang->ShowModal(); - delete frameCELang; - frameCELang = NULL; -} - -void frmContactEditor::ModifyBusinessLanguage( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboBusinessLanguages, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorLanguages *frameCELang = new frmContactEditorLanguages ( this ); - frameCELang->SetupPointers(&BusinessLanguageList, - &BusinessLanguageListAltID, - &BusinessLanguageListPID, - &BusinessLanguageListType, - &BusinessLanguageListTokens, - &BusinessLanguageListPref, - lboBusinessLanguages, - intSelectedData); - frameCELang->SetEditorMode(TRUE, CE_WORK); - frameCELang->ShowModal(); - delete frameCELang; - frameCELang = NULL; -} - -void frmContactEditor::DeleteBusinessLanguage( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboBusinessLanguages, - &longSelected, - &intSelectedData)){ - return; - } - - lboBusinessLanguages->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &BusinessLanguageList, - &BusinessLanguageListAltID, &BusinessLanguageListPID, - &BusinessLanguageListType, &BusinessLanguageListTokens, - &BusinessLanguageListPref); - -} - -void frmContactEditor::AddBusinessTimezone( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorTimezones *frameCETZ = new frmContactEditorTimezones ( this ); - frameCETZ->SetEditorMode(FALSE, CE_WORK); - intResult = GetLastInt(&BusinessTZList); - frameCETZ->SetupPointers(&BusinessTZList, - &BusinessTZListAltID, - &BusinessTZListPID, - &BusinessTZListType, - &BusinessTZListTokens, - &BusinessTZListMediatype, - &BusinessTZListPref, - lboBusinessTimezones, - (intValueSeek)); - frameCETZ->ShowModal(); - delete frameCETZ; - frameCETZ = NULL; -} - -void frmContactEditor::ModifyBusinessTimezone( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboBusinessTimezones, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorTimezones *frameCETZ = new frmContactEditorTimezones ( this ); - frameCETZ->SetupPointers(&BusinessTZList, - &BusinessTZListAltID, - &BusinessTZListPID, - &BusinessTZListType, - &BusinessTZListTokens, - &BusinessTZListMediatype, - &BusinessTZListPref, - lboBusinessTimezones, - intSelectedData); - frameCETZ->SetEditorMode(TRUE, CE_WORK); - frameCETZ->ShowModal(); - delete frameCETZ; - frameCETZ = NULL; -} - -void frmContactEditor::DeleteBusinessTimezone( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboBusinessTimezones, - &longSelected, - &intSelectedData)){ - return; - } - - lboBusinessTimezones->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &BusinessTZList, - &BusinessTZListAltID, &BusinessTZListPID, - &BusinessTZListType, &BusinessTZListTokens, - &BusinessTZListMediatype, &BusinessTZListPref); - -} - -void frmContactEditor::AddBusinessGeoposition( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorGeoposition *frameCEGeo = new frmContactEditorGeoposition ( this ); - frameCEGeo->SetEditorMode(FALSE, CE_WORK); - intResult = GetLastInt(&BusinessGeographyList); - frameCEGeo->SetupPointers(&BusinessGeographyList, - &BusinessGeographyListAltID, - &BusinessGeographyListPID, - &BusinessGeographyListType, - &BusinessGeographyListTokens, - &BusinessGeographyListMediatype, - &BusinessGeographyListPref, - lboBusinessGeoposition, - (intValueSeek)); - frameCEGeo->ShowModal(); - delete frameCEGeo; - frameCEGeo = NULL; -} - -void frmContactEditor::ModifyBusinessGeoposition( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboBusinessGeoposition, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorGeoposition *frameCEGeo = new frmContactEditorGeoposition ( this ); - frameCEGeo->SetupPointers(&BusinessGeographyList, - &BusinessGeographyListAltID, - &BusinessGeographyListPID, - &BusinessGeographyListType, - &BusinessGeographyListTokens, - &BusinessGeographyListMediatype, - &BusinessGeographyListPref, - lboBusinessGeoposition, - intSelectedData); - frameCEGeo->SetEditorMode(TRUE, CE_WORK); - frameCEGeo->ShowModal(); - delete frameCEGeo; - frameCEGeo = NULL; -} - -void frmContactEditor::DeleteBusinessGeoposition( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboBusinessGeoposition, - &longSelected, - &intSelectedData)){ - return; - } - - lboBusinessGeoposition->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &BusinessGeographyList, - &BusinessGeographyListAltID, &BusinessGeographyListPID, - &BusinessGeographyListType, &BusinessGeographyListTokens, - &BusinessGeographyListMediatype, &BusinessGeographyListPref); - -} - -void frmContactEditor::AddBusinessWebsite( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorWebsites *frameCEWeb = new frmContactEditorWebsites ( this ); - frameCEWeb->SetEditorMode(FALSE, CE_WORK); - intResult = GetLastInt(&BusinessWebsiteList); - frameCEWeb->SetupPointers(&BusinessWebsiteList, - &BusinessWebsiteListAltID, - &BusinessWebsiteListPID, - &BusinessWebsiteListType, - &BusinessWebsiteListTokens, - &BusinessWebsiteListMediatype, - &BusinessWebsiteListPref, - lboBusinessWebsites, - (intValueSeek)); - frameCEWeb->ShowModal(); - delete frameCEWeb; - frameCEWeb = NULL; -} - -void frmContactEditor::ModifyBusinessWebsite( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboBusinessWebsites, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorWebsites *frameCEWeb = new frmContactEditorWebsites ( this ); - frameCEWeb->SetupPointers(&BusinessWebsiteList, - &BusinessWebsiteListAltID, - &BusinessWebsiteListPID, - &BusinessWebsiteListType, - &BusinessWebsiteListTokens, - &BusinessWebsiteListMediatype, - &BusinessWebsiteListPref, - lboBusinessWebsites, - intSelectedData); - frameCEWeb->SetEditorMode(TRUE, CE_WORK); - frameCEWeb->ShowModal(); - delete frameCEWeb; - frameCEWeb = NULL; -} - -void frmContactEditor::DeleteBusinessWebsite( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboBusinessWebsites, - &longSelected, - &intSelectedData)){ - return; - } - - lboBusinessWebsites->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &BusinessWebsiteList, - &BusinessWebsiteListAltID, &BusinessWebsiteListPID, - &BusinessWebsiteListType, &BusinessWebsiteListTokens, - &BusinessWebsiteListMediatype, &BusinessWebsiteListPref); - -} - -void frmContactEditor::AddBusinessTitle( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorTitles *frameCETitle = new frmContactEditorTitles ( this ); - frameCETitle->SetEditorMode(FALSE, CE_WORK); - intResult = GetLastInt(&BusinessTitleList); - frameCETitle->SetupPointers(&BusinessTitleList, - &BusinessTitleListLanguage, - &BusinessTitleListAltID, - &BusinessTitleListPID, - &BusinessTitleListType, - &BusinessTitleListTokens, - &BusinessTitleListPref, - lboBusinessTitles, - (intValueSeek)); - frameCETitle->ShowModal(); - delete frameCETitle; - frameCETitle = NULL; -} - -void frmContactEditor::ModifyBusinessTitle( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboBusinessTitles, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorTitles *frameCETitle = new frmContactEditorTitles ( this ); - frameCETitle->SetupPointers(&BusinessTitleList, - &BusinessTitleListLanguage, - &BusinessTitleListAltID, - &BusinessTitleListPID, - &BusinessTitleListType, - &BusinessTitleListTokens, - &BusinessTitleListPref, - lboBusinessTitles, - intSelectedData); - frameCETitle->SetEditorMode(TRUE, CE_WORK); - frameCETitle->ShowModal(); - delete frameCETitle; - frameCETitle = NULL; -} - -void frmContactEditor::DeleteBusinessTitle( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboBusinessTitles, - &longSelected, - &intSelectedData)){ - return; - } - - lboTitles->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &BusinessTitleList, - &BusinessTitleListLanguage, &BusinessTitleListAltID, - &BusinessTitleListPID, &BusinessTitleListType, - &BusinessTitleListTokens, &BusinessTitleListPref); - -} - -void frmContactEditor::AddBusinessRole( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorRoles *frameCERole = new frmContactEditorRoles ( this ); - frameCERole->SetEditorMode(FALSE, CE_WORK); - intResult = GetLastInt(&BusinessRoleList); - frameCERole->SetupPointers(&BusinessRoleList, - &BusinessRoleListLanguage, - &BusinessRoleListAltID, - &BusinessRoleListPID, - &BusinessRoleListType, - &BusinessRoleListTokens, - &BusinessRoleListPref, - lboBusinessRoles, - (intValueSeek)); - frameCERole->ShowModal(); - delete frameCERole; - frameCERole = NULL; -} - -void frmContactEditor::ModifyBusinessRole( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboBusinessRoles, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorRoles *frameCERole = new frmContactEditorRoles ( this ); - frameCERole->SetupPointers(&BusinessRoleList, - &BusinessRoleListLanguage, - &BusinessRoleListAltID, - &BusinessRoleListPID, - &BusinessRoleListType, - &BusinessRoleListTokens, - &BusinessRoleListPref, - lboBusinessRoles, - intSelectedData); - frameCERole->SetEditorMode(TRUE, CE_WORK); - frameCERole->ShowModal(); - delete frameCERole; - frameCERole = NULL; -} - -void frmContactEditor::DeleteBusinessRole( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboBusinessRoles, - &longSelected, - &intSelectedData)){ - return; - } - - lboBusinessRoles->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &BusinessRoleList, - &BusinessRoleListLanguage, &BusinessRoleListAltID, - &BusinessRoleListPID, &BusinessRoleListType, - &BusinessRoleListTokens, &BusinessRoleListPref); - -} - -void frmContactEditor::AddBusinessOrganisation( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorOrganisations *frameCEOrg = new frmContactEditorOrganisations ( this ); - frameCEOrg->SetEditorMode(FALSE, CE_WORK); - intResult = GetLastInt(&GeneralOrganisationsList); - frameCEOrg->SetupPointers(&GeneralOrganisationsList, - &BusinessOrganisationsListLanguage, - &BusinessOrganisationsListSortAs, - &BusinessOrganisationsListAltID, - &BusinessOrganisationsListPID, - &BusinessOrganisationsListType, - &BusinessOrganisationsListTokens, - &BusinessOrganisationsListPref, - lboBusinessOrganisations, - (intValueSeek)); - frameCEOrg->ShowModal(); - delete frameCEOrg; - frameCEOrg = NULL; -} - -void frmContactEditor::ModifyBusinessOrganisation( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboBusinessOrganisations, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorOrganisations *frameCEOrg = new frmContactEditorOrganisations ( this ); - frameCEOrg->SetupPointers(&BusinessOrganisationsList, - &BusinessOrganisationsListLanguage, - &BusinessOrganisationsListSortAs, - &BusinessOrganisationsListAltID, - &BusinessOrganisationsListPID, - &BusinessOrganisationsListType, - &BusinessOrganisationsListTokens, - &BusinessOrganisationsListPref, - lboBusinessOrganisations, - intSelectedData); - frameCEOrg->SetEditorMode(TRUE, CE_WORK); - frameCEOrg->ShowModal(); - delete frameCEOrg; - frameCEOrg = NULL; -} - -void frmContactEditor::DeleteBusinessOrganisation( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboBusinessOrganisations, - &longSelected, - &intSelectedData)){ - return; - } - - lboBusinessOrganisations->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &BusinessOrganisationsList, - &BusinessOrganisationsListLanguage, &BusinessOrganisationsListSortAs, - &BusinessOrganisationsListAltID, &BusinessOrganisationsListPID, - &BusinessOrganisationsListType, &BusinessOrganisationsListTokens, - &BusinessOrganisationsListPref); - -} - -void frmContactEditor::AddBusinessNote( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorNotes *frameCENote = new frmContactEditorNotes ( this ); - frameCENote->SetEditorMode(FALSE, CE_WORK); - intResult = GetLastInt(&BusinessNoteList); - frameCENote->SetupPointers(&BusinessNoteList, - &BusinessNoteListLanguage, - &BusinessNoteListAltID, - &BusinessNoteListPID, - &BusinessNoteListType, - &BusinessNoteListTokens, - &BusinessNoteListPref, - lboBusinessNotes, - (intValueSeek)); - frameCENote->ShowModal(); - delete frameCENote; - frameCENote = NULL; -} - -void frmContactEditor::ModifyBusinessNote( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboBusinessNotes, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorNotes *frameCENote = new frmContactEditorNotes ( this ); - frameCENote->SetupPointers(&BusinessNoteList, - &BusinessNoteListLanguage, - &BusinessNoteListAltID, - &BusinessNoteListPID, - &BusinessNoteListType, - &BusinessNoteListTokens, - &BusinessNoteListPref, - lboBusinessNotes, - intSelectedData); - frameCENote->SetEditorMode(TRUE, CE_WORK); - frameCENote->ShowModal(); - delete frameCENote; - frameCENote = NULL; -} - -void frmContactEditor::DeleteBusinessNote( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboBusinessNotes, - &longSelected, - &intSelectedData)){ - return; - } - - lboBusinessNotes->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &BusinessNoteList, - &BusinessNoteListLanguage, &BusinessNoteListAltID, - &BusinessNoteListPID, &BusinessNoteListType, - &BusinessNoteListTokens, &BusinessNoteListPref); - -} - -void frmContactEditor::AddCategory( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorCategory *frameCECategory = new frmContactEditorCategory ( this ); - frameCECategory->SetEditorMode(FALSE); - intResult = GetLastInt(&CategoriesList); - frameCECategory->SetupPointers(&CategoriesList, - &CategoriesListAltID, - &CategoriesListPID, - &CategoriesListType, - &CategoriesListTokens, - &CategoriesListPref, - lboCategories, - (intValueSeek)); - frameCECategory->ShowModal(); - delete frameCECategory; - frameCECategory = NULL; -} - -void frmContactEditor::ModifyCategory( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboCategories, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorCategory *frameCECategory = new frmContactEditorCategory ( this ); - frameCECategory->SetupPointers(&CategoriesList, - &CategoriesListAltID, - &CategoriesListPID, - &CategoriesListType, - &CategoriesListTokens, - &CategoriesListPref, - lboCategories, - intSelectedData); - frameCECategory->SetEditorMode(TRUE); - frameCECategory->ShowModal(); - delete frameCECategory; - frameCECategory = NULL; -} - -void frmContactEditor::DeleteCategory( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboCategories, - &longSelected, - &intSelectedData)){ - return; - } - - lboCategories->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &CategoriesList, - &CategoriesListAltID, &CategoriesListPID, - &CategoriesListType, &CategoriesListTokens, - &CategoriesListPref); - -} - -void frmContactEditor::AddGroup( wxCommandEvent& event ) -{ - - int intResult = 0; - - XABViewMode XVMData = MainPtr->GetViewMode(); - - frmContactEditorGroup *frameCEGroup = new frmContactEditorGroup ( this ); - frameCEGroup->SetEditorMode(FALSE, XVMData); - intResult = GetLastInt(&GroupsList); - frameCEGroup->SetupPointers(&GroupsList, - lboGroups, - wxSContactAccount, - intValueSeek); - frameCEGroup->ShowModal(); - delete frameCEGroup; - frameCEGroup = NULL; - -} - -void frmContactEditor::ModifyGroup( wxCommandEvent& event ) -{ - - return; - -} - -void frmContactEditor::DeleteGroup( wxCommandEvent& event ) -{ - - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboGroups, - &longSelected, - &intSelectedData)){ - return; - } - - lboGroups->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &GroupsList); - -} - -void frmContactEditor::AddPicture( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorPicture *frameCEPicture = new frmContactEditorPicture ( this ); - frameCEPicture->SetEditorMode(FALSE); - intResult = GetLastInt(&PicturesList); - frameCEPicture->SetupPointers(&PicturesList, - &PicturesListAltID, - &PicturesListPID, - &PicturesListType, - &PicturesListPicEncType, - &PicturesListPictureType, - &PicturesListTokens, - &PicturesListMediatype, - &PicturesListPref, - lboPictures, - (intValueSeek)); - frameCEPicture->ShowModal(); - delete frameCEPicture; - frameCEPicture = NULL; -} - -void frmContactEditor::ModifyPicture( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboPictures, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorPicture *frameCEPicture = new frmContactEditorPicture ( this ); - frameCEPicture->SetupPointers(&PicturesList, - &PicturesListAltID, - &PicturesListPID, - &PicturesListType, - &PicturesListPicEncType, - &PicturesListPictureType, - &PicturesListTokens, - &PicturesListMediatype, - &PicturesListPref, - lboPictures, - intSelectedData); - frameCEPicture->SetEditorMode(TRUE); - frameCEPicture->ShowModal(); - delete frameCEPicture; - frameCEPicture = NULL; - -} - -void frmContactEditor::DeletePicture( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboPictures, - &longSelected, - &intSelectedData)){ - return; - } - - lboPictures->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, - &PicturesList, &PicturesListAltID, &PicturesListPID, &PicturesListType, - &PicturesListPicEncType, &PicturesListPictureType, &PicturesListTokens, - &PicturesListMediatype, &PicturesListPref); - - wxMemoryInputStream istream(misc_emptyimage_png, sizeof(misc_emptyimage_png)); - wxImage misc_emptyimage_png(istream, wxBITMAP_TYPE_PNG); - PictureImage = (wxBitmap)misc_emptyimage_png; - - imgPicture->SetBitmap(PictureImage); -} - -void frmContactEditor::LoadPicture( wxListEvent& event ) -{ - - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboPictures, - &longSelected, - &intSelectedData)){ - return; - } - - std::string base64dec; - - std::map::iterator initier; - - initier = PicturesList.find(intSelectedData); - - base64dec = base64_decode(initier->second); - - - wxMemoryInputStream istream(base64dec.c_str(), (size_t)base64dec.size()); - wxImage photo; - //wxMemoryInputStream istream(base64dec, (size_t)base64dec.size()); - - if (!photo.LoadFile(istream, wxBITMAP_TYPE_ANY)){ - - return; - - } - - - PictureImage = (wxBitmap)photo; - imgPicture->SetBitmap(PictureImage); - -} - -void frmContactEditor::LoadLogo( wxListEvent& event ) -{ - - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboLogos, - &longSelected, - &intSelectedData)){ - return; - } - - std::string base64dec; - - std::map::iterator initier; - - initier = LogosList.find(intSelectedData); - - base64dec = base64_decode(initier->second); - - - wxMemoryInputStream istream(base64dec.c_str(), (size_t)base64dec.size()); - wxImage photo; - //wxMemoryInputStream istream(base64dec, (size_t)base64dec.size()); - - if (!photo.LoadFile(istream, wxBITMAP_TYPE_ANY)){ - - return; - - } - - - LogoImage = (wxBitmap)photo; - imgLogo->SetBitmap(LogoImage); - -} - -void frmContactEditor::AddLogo( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorPicture *frameCELogo = new frmContactEditorPicture ( this ); - frameCELogo->SetEditorMode(FALSE); - intResult = GetLastInt(&LogosList); - frameCELogo->SetupPointers(&LogosList, - &LogosListAltID, - &LogosListPID, - &LogosListType, - &LogosListPicEncType, - &LogosListPictureType, - &LogosListTokens, - &LogosListMediatype, - &LogosListPref, - lboLogos, - (intValueSeek)); - frameCELogo->ShowModal(); - delete frameCELogo; - frameCELogo = NULL; -} - -void frmContactEditor::ModifyLogo( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboLogos, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorPicture *frameCELogo = new frmContactEditorPicture ( this ); - frameCELogo->SetupPointers(&LogosList, - &LogosListAltID, - &LogosListPID, - &LogosListType, - &LogosListPicEncType, - &LogosListPictureType, - &LogosListTokens, - &LogosListMediatype, - &LogosListPref, - lboLogos, - intSelectedData); - frameCELogo->SetEditorMode(TRUE); - frameCELogo->ShowModal(); - delete frameCELogo; - frameCELogo = NULL; -} - -void frmContactEditor::DeleteLogo( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboLogos, - &longSelected, - &intSelectedData)){ - return; - } - - lboLogos->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, - &LogosList, &LogosListAltID, &LogosListPID, &LogosListType, - &LogosListPicEncType, &LogosListPictureType, &LogosListTokens, - &LogosListMediatype, &LogosListPref); - - wxMemoryInputStream istream(misc_emptyimage_png, sizeof(misc_emptyimage_png)); - wxImage misc_emptyimage_png(istream, wxBITMAP_TYPE_PNG); - LogoImage = (wxBitmap)misc_emptyimage_png; - - imgLogo->SetBitmap(LogoImage); -} - -void frmContactEditor::AddSound( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorSound *frameCESound = new frmContactEditorSound ( this ); - frameCESound->SetEditorMode(FALSE); - intResult = GetLastInt(&SoundsList); - frameCESound->SetupPointers(&SoundsList, - &SoundsListAltID, - &SoundsListPID, - &SoundsListType, - &SoundsListAudioType, - &SoundsListAudioEncType, - &SoundsListTokens, - &SoundsListMediatype, - &SoundsListPref, - lboSounds, - (intValueSeek)); - frameCESound->ShowModal(); - delete frameCESound; - frameCESound = NULL; -} - -void frmContactEditor::ModifySound( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboSounds, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorSound *frameCESound = new frmContactEditorSound ( this ); - frameCESound->SetupPointers(&SoundsList, - &SoundsListAltID, - &SoundsListPID, - &SoundsListType, - &SoundsListAudioType, - &SoundsListAudioEncType, - &SoundsListTokens, - &SoundsListMediatype, - &SoundsListPref, - lboSounds, - intSelectedData); - frameCESound->SetEditorMode(TRUE); - frameCESound->ShowModal(); - delete frameCESound; - frameCESound = NULL; -} - -void frmContactEditor::DeleteSound( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboSounds, - &longSelected, - &intSelectedData)){ - return; - } - - lboSounds->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &SoundsList, &SoundsListAltID, - &SoundsListPID, &SoundsListType, &SoundsListAudioType, - &SoundsListAudioEncType, &SoundsListTokens, &SoundsListMediatype, - &SoundsListPref); - -} - -void frmContactEditor::PlaySoundDetach() -{ - - if (!AudioStreamPlayback.openFromMemory(base64dec.c_str(), base64declen)){ - - // Can't load file. We must flee... - // Also show an error message too. - - wxMessageBox(_("This file is in an audio format that is unsupported or is not an audio file."), _("Error opening audio file"), wxICON_ERROR); - - return; - - } - - btnStop->Enable(); - - //AudioStreamPlayback.setbuffer(AudioBuffer); - AudioStreamPlayback.play(); - - /*timespec n1, n2; - - n1.tv_sec = 0; - n1.tv_nsec = 100000000L;*/ - - //while (TimeA != TimeB){ - while (AudioStreamPlayback.getStatus() == sf::SoundSource::Playing){ - - // We poll this every 100ms in order to conserve CPU usage. - - SleepFor(100000000); - - } - - btnStop->Disable(); - -} - -void frmContactEditor::PlaySound( wxCommandEvent& event ) -{ - - //sf::Music *AudioPlayback = new sf::Music; - //AudioStream *AudioStreamPlayback = new AudioStream; - //sf::SoundBuffer *AudioBuffer = new sf::SoundBuffer; - - //sf::Sound *AudioPlayback = new sf::Sound; - - //delete(AudioPlayback); - - //delete(AudioPlayback); - //delete(AudioStreamPlayback); - //delete(AudioBuffer); - - //AudioPlayback = NULL; - //AudioStreamPlayback = NULL; - //AudioBuffer = NULL; - - //return; - - long longSelected = -1; - int intSelectedData = 0; - - // Check if sound is still being played and if it is, stop it. - - if (AudioStreamPlayback.getStatus() == sf::SoundSource::Playing){ - - AudioStreamPlayback.stop(); - - } - - if (!GetSelectedItem(lboSounds, - &longSelected, - &intSelectedData)){ - return; - } - - std::map::iterator initier; - - initier = SoundsList.find(intSelectedData); - - base64dec = base64_decode(initier->second); - base64declen = base64dec.size(); - - std::thread AudioPlaybackThread(&frmContactEditor::PlaySoundDetach, this); - AudioPlaybackThread.detach(); - - return; - -} - -void frmContactEditor::StopSound( wxCommandEvent& event ) -{ - - if (AudioStreamPlayback.getStatus() == sf::SoundSource::Playing){ - - AudioStreamPlayback.stop(); - - } - - btnStop->Disable(); - - return; - -} - -void frmContactEditor::AddCalendarAddress( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorCalAdr *frameCECalAdr = new frmContactEditorCalAdr ( this ); - frameCECalAdr->SetEditorMode(FALSE); - intResult = GetLastInt(&CalendarList); - frameCECalAdr->SetupPointers(&CalendarList, - &CalendarListAltID, - &CalendarListPID, - &CalendarListType, - &CalendarListTokens, - &CalendarListPref, - lboCalendarAddresses, - (intValueSeek)); - frameCECalAdr->ShowModal(); - delete frameCECalAdr; - frameCECalAdr = NULL; -} - -void frmContactEditor::ModifyCalendarAddress( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboCalendarAddresses, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorCalAdr *frameCECalAdr = new frmContactEditorCalAdr ( this ); - frameCECalAdr->SetupPointers(&CalendarList, - &CalendarListAltID, - &CalendarListPID, - &CalendarListType, - &CalendarListTokens, - &CalendarListPref, - lboCalendarAddresses, - intSelectedData); - frameCECalAdr->SetEditorMode(TRUE); - frameCECalAdr->ShowModal(); - delete frameCECalAdr; - frameCECalAdr = NULL; -} - -void frmContactEditor::DeleteCalendarAddress( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboCalendarAddresses, - &longSelected, - &intSelectedData)){ - return; - } - - lboCalendarAddresses->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &CalendarList, &CalendarListAltID, - &CalendarListPID, &CalendarListType, &CalendarListTokens, - &CalendarListPref); - -} - -void frmContactEditor::AddCalendarRequest( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorCalAdr *frameCECalAdr = new frmContactEditorCalAdr ( this ); - frameCECalAdr->SetEditorMode(FALSE); - intResult = GetLastInt(&CalendarRequestList); - frameCECalAdr->SetupPointers(&CalendarRequestList, - &CalendarRequestListAltID, - &CalendarRequestListPID, - &CalendarRequestListType, - &CalendarRequestListTokens, - &CalendarRequestListPref, - lboCalendarRequestAddress, - (intValueSeek)); - frameCECalAdr->ShowModal(); - delete frameCECalAdr; - frameCECalAdr = NULL; -} - -void frmContactEditor::ModifyCalendarRequest( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboCalendarRequestAddress, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorCalAdr *frameCECalAdr = new frmContactEditorCalAdr ( this ); - frameCECalAdr->SetupPointers(&CalendarList, - &CalendarRequestListAltID, - &CalendarRequestListPID, - &CalendarRequestListType, - &CalendarRequestListTokens, - &CalendarRequestListPref, - lboCalendarRequestAddress, - intSelectedData); - frameCECalAdr->SetEditorMode(TRUE); - frameCECalAdr->ShowModal(); - delete frameCECalAdr; - frameCECalAdr = NULL; -} - -void frmContactEditor::DeleteCalendarRequest( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboCalendarRequestAddress, - &longSelected, - &intSelectedData)){ - return; - } - - lboCalendarRequestAddress->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &CalendarRequestList, - &CalendarRequestListAltID, &CalendarRequestListPID, - &CalendarRequestListType, &CalendarRequestListTokens, - &CalendarRequestListPref); -} - -void frmContactEditor::AddFreeBusy( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorCalAdr *frameCECalAdr = new frmContactEditorCalAdr ( this ); - frameCECalAdr->SetEditorMode(FALSE); - intResult = GetLastInt(&FreeBusyList); - frameCECalAdr->SetupPointers(&FreeBusyList, - &FreeBusyListAltID, - &FreeBusyListPID, - &FreeBusyListType, - &FreeBusyListTokens, - &FreeBusyListPref, - lboFreeBusyAddresses, - (intValueSeek)); - frameCECalAdr->ShowModal(); - delete frameCECalAdr; - frameCECalAdr = NULL; -} - -void frmContactEditor::ModifyFreeBusy( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboFreeBusyAddresses, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorCalAdr *frameCECalAdr = new frmContactEditorCalAdr ( this ); - frameCECalAdr->SetupPointers(&FreeBusyList, - &FreeBusyListAltID, - &FreeBusyListPID, - &FreeBusyListType, - &FreeBusyListTokens, - &FreeBusyListPref, - lboFreeBusyAddresses, - intSelectedData); - frameCECalAdr->SetEditorMode(TRUE); - frameCECalAdr->ShowModal(); - delete frameCECalAdr; - frameCECalAdr = NULL; -} - -void frmContactEditor::DeleteFreeBusy( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboFreeBusyAddresses, - &longSelected, - &intSelectedData)){ - return; - } - - lboFreeBusyAddresses->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &FreeBusyList, &FreeBusyListAltID, - &FreeBusyListPID, &FreeBusyListType, &FreeBusyListTokens, - &FreeBusyListPref); - -} - -void frmContactEditor::AddKey( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorKey *frameCEKey = new frmContactEditorKey ( this ); - frameCEKey->SetEditorMode(FALSE); - intResult = GetLastInt(&KeyList); - frameCEKey->SetupPointers(&KeyList, - &KeyListAltID, - &KeyListPID, - &KeyListKeyType, - &KeyListDataType, - &KeyListType, - &KeyListTokens, - &KeyListPref, - lboKeys, - (intValueSeek)); - frameCEKey->ShowModal(); - delete frameCEKey; - frameCEKey = NULL; -} - -void frmContactEditor::ModifyKey( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboKeys, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorKey *frameCEKey = new frmContactEditorKey ( this ); - frameCEKey->SetupPointers(&KeyList, - &KeyListAltID, - &KeyListPID, - &KeyListKeyType, - &KeyListDataType, - &KeyListType, - &KeyListTokens, - &KeyListPref, - lboKeys, - intSelectedData); - frameCEKey->SetEditorMode(TRUE); - frameCEKey->ShowModal(); - delete frameCEKey; - frameCEKey = NULL; -} - -void frmContactEditor::DeleteKey( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboKeys, - &longSelected, - &intSelectedData)){ - return; - } - - lboKeys->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &KeyList, &KeyListAltID, - &KeyListPID, &KeyListKeyType, &KeyListDataType, &KeyListType, - &KeyListTokens, &KeyListPref); - -} - -void frmContactEditor::AddVendorNamespace( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorVendor *frameCEVen = new frmContactEditorVendor ( this ); - frameCEVen->SetEditorMode(FALSE); - intResult = GetLastInt(&VendorList); - frameCEVen->SetupPointers(&VendorList, - &VendorListPEN, - &VendorListElement, - lboVendorNamespace, - (intValueSeek)); - frameCEVen->ShowModal(); - delete frameCEVen; - frameCEVen = NULL; -} - -void frmContactEditor::ModifyVendorNamespace( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboVendorNamespace, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorVendor *frameCEVen = new frmContactEditorVendor ( this ); - frameCEVen->SetupPointers(&VendorList, - &VendorListPEN, - &VendorListElement, - lboVendorNamespace, - intSelectedData); - frameCEVen->SetEditorMode(TRUE); - frameCEVen->ShowModal(); - delete frameCEVen; - frameCEVen = NULL; -} - -void frmContactEditor::DeleteVendorNamespace( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboVendorNamespace, - &longSelected, - &intSelectedData)){ - return; - } - - lboVendorNamespace->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &VendorList, &VendorListPEN, - &VendorListElement); - -} - -void frmContactEditor::AddXToken( wxCommandEvent& event ) -{ - int intResult = 0; - - frmContactEditorXToken *frameCEXT = new frmContactEditorXToken ( this ); - frameCEXT->SetEditorMode(FALSE); - intResult = GetLastInt(&XTokenList); - frameCEXT->SetupPointers(&XTokenList, - &XTokenListTokens, - lboXToken, - (intValueSeek)); - frameCEXT->ShowModal(); - delete frameCEXT; - frameCEXT = NULL; -} - -void frmContactEditor::ModifyXToken( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboXToken, - &longSelected, - &intSelectedData)){ - return; - } - - frmContactEditorXToken *frameCEXT = new frmContactEditorXToken ( this ); - frameCEXT->SetupPointers(&XTokenList, - &XTokenListTokens, - lboXToken, - intSelectedData); - frameCEXT->SetEditorMode(TRUE); - frameCEXT->ShowModal(); - delete frameCEXT; - frameCEXT = NULL; -} - -void frmContactEditor::DeleteXToken( wxCommandEvent& event ) -{ - long longSelected = -1; - int intSelectedData = 0; - - if (!GetSelectedItem(lboXToken, - &longSelected, - &intSelectedData)){ - return; - } - - lboXToken->DeleteItem(longSelected); - - DeleteMapData(intSelectedData, &XTokenList, &XTokenListTokens); - -} - -void frmContactEditor::SaveContact( wxCommandEvent& event ) -{ - - // Check if Display As combo box has a value in it. - // Do not go any further if there is no value. - - wxString cmbDisplayAsValue = cmbDisplayAs->GetValue(); - - if (cmbDisplayAsValue.IsEmpty()){ - - wxMessageBox(_("Display As value cannot be left blank."), _("Display As value empty"), wxICON_ERROR); - return; - - } - - // Save the updated contact data. - - vCard ContactData; - wxString FilenameFinal; - bool ReplaceContact = FALSE; - - if (cmbType->GetCurrentSelection() == 1 || - cmbType->GetCurrentSelection() == 3 || - cmbType->GetCurrentSelection() == 4){ - - if (IsGroup == TRUE){ - - // Mark contact for replacing. - - ReplaceContact = TRUE; - - } - - } else if (cmbType->GetCurrentSelection() == 2){ - - if (IsGroup == TRUE){ - - // Mark contact for replacing. - - ReplaceContact = TRUE; - - } - - } - - if (ReplaceContact == TRUE){ - - wxString wxDelSplitFilename; - wxString wxDelFinalFilename; - wxString wxSDelDataURL; - wxStringTokenizer wSTDelFilename(wxSContactFilename, wxT("/")); - while(wSTDelFilename.HasMoreTokens()){ - - wxDelSplitFilename = wSTDelFilename.GetNextToken(); - - } - - wxSDelDataURL = wxDelSplitFilename; - - // Delete the contact from the server as it will be useless in certain - // address book clients. - - ActMgrPtr->AddTask(2, cmbDisplayAs->GetValue(), wxSContactAccount, wxSDelDataURL, wxDelSplitFilename, wxSContactFilename, wxT("")); - - // Clear the filename so the trigger to recreate the UID is done. - - wxSContactFilename.Clear(); - EditMode = FALSE; - - } - - if (wxSContactFilename.IsEmpty()){ - - // Generate a random UUID. - - UIDToken = GenerateUUID(); - UIDToken = UIDToken.MakeUpper(); - - // Setup the filename. - - FilenameFinal = GetAccountDir(wxSContactAccount, FALSE); - -#if defined(__HAIKU__) - - //preffilename = wxT("noo"); - -#elif defined(__WIN32__) - - FilenameFinal = GetAccountDir(wxSContactAccount, FALSE); - FilenameFinal.Append(UIDToken); - FilenameFinal.Append(wxT(".vcf")); - wxSContactFilename = FilenameFinal; - -#else - - FilenameFinal = GetAccountDir(wxSContactAccount, FALSE); - FilenameFinal.Append(UIDToken); - FilenameFinal.Append(wxT(".vcf")); - wxSContactFilename = FilenameFinal; - -#endif - - } else { - - if (UIDToken.IsEmpty()){ - - // UID Token is empty. (Shouldn't be). - // Generate a new UID Token. - - /*boost::uuids::uuid ContactUUID = boost::uuids::random_generator()(); - std::string sstContactUUID = boost::uuids::to_string(ContactUUID); - wxString strContactUUID(sstContactUUID.c_str(), wxConvUTF8); - UIDToken = strContactUUID;*/ - UIDToken = GenerateUUID(); - UIDToken = UIDToken.MakeUpper(); - - } - FilenameFinal = wxSContactFilename; - - } - - // Setup the data and write it into the account folder. - - // Begin preperations to write the contact to a file. - - bool boolValue = FALSE; - bool boolValue2 = FALSE; - bool FNFirst = TRUE; - bool NNGeneralFirst = TRUE; - bool NNHomeFirst = TRUE; - bool NNWorkFirst = TRUE; - int intFNCount = 0; - std::map::iterator intiter; - std::map::iterator striter; - - ContactData.Add(wxT("BEGIN"), wxT("VCARD"), FALSE); - ContactData.Add(wxT("VERSION"), wxT("4.0"), FALSE); - - // Setup the version string. - - strValue.Append(wxT("-//Xestia//Address Book Version ")); - strValue.Append(wxT(XSDAB_VERSION)); - strValue.Append(wxT("//KW")); - - ContactData.Add(wxT("PRODID"), strValue, FALSE); - - // Setup the name. - - strValue.Clear(); - - // Setup the name field. - - strValue = txtSurname->GetValue() + wxT(";") + - txtForename->GetValue() + wxT(";") + - txtOtherNames->GetValue() + wxT(";") + - txtTitle->GetValue() + wxT(";") + - txtSuffix->GetValue(); - - strValue2 = ContactData.Convert(cmbDisplayAs->GetValue(), FALSE); - strValue2.Trim(); - - if (NameTokens.IsEmpty()){ - ContactData.Add(wxT("N;SORT-AS=\"") + strValue2 + wxT("\""), strValue, FALSE); - } else { - ContactData.Add(wxT("N;SORT-AS=\"") + strValue2 + wxT("\";") + NameTokens, strValue, FALSE); - } - - if (cmbType->GetCurrentSelection() == 1){ - - ContactData.AddRaw(wxT("KIND"), wxT("individual")); - - } else if (cmbType->GetCurrentSelection() == 2){ - - ContactData.AddRaw(wxT("KIND"), wxT("group")); - - // Go through each of the members and write them out. - - for (std::map::iterator itemiter = GroupsList.begin(); - itemiter != GroupsList.end(); ++itemiter){ - - ContactData.Add(wxT("MEMBER:urn:uuid"), itemiter->second, FALSE); - - } - - } else if (cmbType->GetCurrentSelection() == 3){ - - ContactData.AddRaw(wxT("KIND"), wxT("org")); - - } else if (cmbType->GetCurrentSelection() == 4){ - - ContactData.AddRaw(wxT("KIND"), wxT("location")); - - } - - - // Setup the nicknames (General, Home & Business). - - strValue.Clear(); - strValue2.Clear(); - strValue3.Clear(); - - boolValue = FALSE; - boolValue2 = FALSE; - intValue2 = 0; - intValue = 0; - - // Setup the gender. - - if (cmbGender->GetCurrentSelection() != 0){ - - switch(cmbGender->GetCurrentSelection()){ - - case 1: - - strValue = wxT("M"); - break; - - case 2: - - strValue = wxT("F"); - break; - - case 3: - - strValue = wxT("O"); - break; - - case 4: - - strValue = wxT("N"); - break; - - case 5: - - strValue = wxT("U"); - break; - - } - - } - - if (!txtGenderDescription->IsEmpty()){ - - strValue2 = txtGenderDescription->GetValue(); - - } - - if (!strValue.IsEmpty() || !strValue2.IsEmpty()){ - - EscapeString(&strValue2, FALSE); - - if (!GenderTokens.IsEmpty()){ - - if (!strValue2.IsEmpty()){ - - ContactData.AddRaw(wxT("GENDER;") + GenderTokens, strValue + wxT(";") + strValue2); - - } else { - - ContactData.AddRaw(wxT("GENDER;") + GenderTokens, strValue); - - } - - } else { - - if (!strValue2.IsEmpty()){ - - ContactData.AddRaw(wxT("GENDER"), strValue + wxT(";") + strValue2); - - } else { - - ContactData.AddRaw(wxT("GENDER"), strValue); - - } - - } - - } - - strValue.Clear(); - strValue2.Clear(); - strValue3.Clear(); - - boolValue = FALSE; - boolValue2 = FALSE; - intValue2 = 0; - intValue = 0; - - // Process Label. - - strValue3 = BirthdayAltID; - - if (!strValue3.IsEmpty()){ - - strValue3.Trim(); - strValue3.Trim(); - boolValue2 = TRUE; - strValue2.Append(wxT("ALTID=\"") + strValue3 + wxT("\"")); - - boolValue = TRUE; - - } - - //strValue3 = ContactData.Convert(GeneralAddressList, FALSE); - //strValue2 = - - // Process Language. - - strValue3 = BirthdayCalScale; - - if (!strValue3.IsEmpty()){ - - strValue3.Trim(); - strValue3.Trim(); - - if (boolValue2 == TRUE){ - - strValue2.Append(wxT(";")); - - } else { - - boolValue2 = TRUE; - - } - - strValue2.Append(wxT("CALSCALE=") + strValue3); - - boolValue = TRUE; - - } - - // Process Tokens. - - strValue2 = BirthdayTokens; - - // Get the birthday and write it. - - ResetSaveProcessData(); - - if (!txtBirthday->IsEmpty()){ - - strValue = txtBirthday->GetValue(); - - if (!strValue.IsEmpty() || !strValue2.IsEmpty()){ - - if (!strValue2.IsEmpty()){ - - EscapeString(&strValue2, FALSE); - EscapeString(&strValue, FALSE); - - ContactData.AddRaw(wxT("BDAY;VALUE=text;") + strValue2 + wxT(";"), strValue); - - } else { - - EscapeString(&strValue, FALSE); - - ContactData.AddRaw(wxT("BDAY;VALUE=text"), strValue); - - } - - } - - } else { - - // Deal with date. - - // Get Day, Month & Year. - - wxDateTime BirthdayDate; - wxDateTime::Month BirthdayMonth; - int BirthdayDay; - int BirthdayYear; - wxString DataBeforeT; - wxString DataAfterT; - wxString FinalBirthdayString; - bool ProcessDataAfterT = FALSE; - - BirthdayDate = dapBirthday->GetValue(); - - if (BirthdayDate.IsValid()){ - - BirthdayDay = BirthdayDate.GetDay(); - BirthdayMonth = BirthdayDate.GetMonth(); - BirthdayYear = BirthdayDate.GetYear(); - - // Look for T and replace data before this. - - wxStringTokenizer wSTDate(Birthday, wxT("T")); - - while (wSTDate.HasMoreTokens()){ - - if (ProcessDataAfterT == FALSE){ - - DataBeforeT = wSTDate.GetNextToken(); - ProcessDataAfterT = TRUE; - - } else { - - DataAfterT = wSTDate.GetNextToken(); - break; - - } - - } - - // If there is not T then replace altogether. - - wxString FinalBirthdayDay; - wxString FinalBirthdayMonth; - wxString FinalBirthdayYear; - - if (BirthdayDay < 10){ - - FinalBirthdayDay = wxT("0") + wxString::Format(wxT("%i"), BirthdayDay); - - } else { - - FinalBirthdayDay = wxString::Format(wxT("%i"), BirthdayDay); - - } - - if (((int)BirthdayMonth + 1) < 10){ - - FinalBirthdayMonth = wxT("0") + wxString::Format(wxT("%i"), ((int)BirthdayMonth + 1)); - - } else { - - FinalBirthdayMonth = wxString::Format(wxT("%i"), ((int)BirthdayMonth + 1)); - - } - - if (BirthdayYear == 0){ - - FinalBirthdayYear = wxT("--"); - - } else { - - FinalBirthdayYear = wxString::Format(wxT("%i"), BirthdayYear); - - } - - if (!DataAfterT.IsEmpty()){ - - FinalBirthdayString = FinalBirthdayYear + FinalBirthdayMonth + FinalBirthdayDay + wxT("T") + DataAfterT; - - } else { - - FinalBirthdayString = FinalBirthdayYear + FinalBirthdayMonth + FinalBirthdayDay; - - } - - if (!FinalBirthdayString.IsEmpty() || !strValue2.IsEmpty()){ - - if (!strValue2.IsEmpty()){ - - EscapeString(&strValue2, FALSE); - EscapeString(&strValue, FALSE); - - ContactData.AddRaw(wxT("BDAY") + strValue2 + wxT(";"), FinalBirthdayString); - - } else { - - EscapeString(&strValue, FALSE); - - ContactData.AddRaw(wxT("BDAY"), FinalBirthdayString); - - } - - } - - } - - } - - ResetSaveProcessData(); - - // Process Label. - - strValue3 = AnniversaryAltID; - - if (!strValue3.IsEmpty()){ - - strValue3.Trim(); - strValue3.Trim(); - boolValue2 = TRUE; - strValue2.Append(wxT("ALTID=\"") + strValue3 + wxT("\"")); - - boolValue = TRUE; - - } - - //strValue3 = ContactData.Convert(GeneralAddressList, FALSE); - //strValue2 = - - // Process Language. - - strValue3 = AnniversaryCalScale; - - if (!strValue3.IsEmpty()){ - - strValue3.Trim(); - strValue3.Trim(); - - if (boolValue2 == TRUE){ - - strValue2.Append(wxT(";")); - - } else { - - boolValue2 = TRUE; - - } - - strValue2.Append(wxT("CALSCALE=") + strValue3); - - boolValue = TRUE; - - } - - // Process Tokens. - - strValue2 = AnniversaryTokens; - - // Deal with ANNIVERSARY. - - if (!txtAnniversary->IsEmpty()){ - - strValue = txtAnniversary->GetValue(); - - if (!strValue.IsEmpty() || !strValue2.IsEmpty()){ - - if (!strValue2.IsEmpty()){ - - EscapeString(&strValue2, FALSE); - EscapeString(&strValue, FALSE); - - ContactData.AddRaw(wxT("ANNIVERSARY;VALUE=text;") + strValue2 + wxT(";"), strValue); - - } else { - - EscapeString(&strValue, FALSE); - - ContactData.AddRaw(wxT("ANNIVERSARY;VALUE=text"), strValue); - - } - - } - - } else { - - // Look for T and replace data before this. - - // Get Day, Month & Year. - - wxDateTime AnniversaryDate; - wxDateTime::Month AnniversaryMonth; - int AnniversaryDay; - int AnniversaryYear; - wxString DataBeforeT; - wxString DataAfterT; - wxString FinalAnniversaryString; - bool ProcessDataAfterT = FALSE; - - AnniversaryDate = dapAnniversary->GetValue(); - - if (AnniversaryDate.IsValid()){ - - AnniversaryDay = AnniversaryDate.GetDay(); - AnniversaryMonth = AnniversaryDate.GetMonth(); - AnniversaryYear = AnniversaryDate.GetYear(); - - // Look for T and replace data before this. - - wxStringTokenizer wSTDate(Anniversary, wxT("T")); - - while (wSTDate.HasMoreTokens()){ - - if (ProcessDataAfterT == FALSE){ - - DataBeforeT = wSTDate.GetNextToken(); - ProcessDataAfterT = TRUE; - - } else { - - DataAfterT = wSTDate.GetNextToken(); - break; - - } - - } - - // If there is not T then replace altogether. - - wxString FinalAnniversaryDay; - wxString FinalAnniversaryMonth; - wxString FinalAnniversaryYear; - - if (AnniversaryDay < 10){ - - FinalAnniversaryDay = wxT("0") + wxString::Format(wxT("%i"), AnniversaryDay); - - } else { - - FinalAnniversaryDay = wxString::Format(wxT("%i"), AnniversaryDay); - - } - - if (((int)AnniversaryMonth + 1) < 10){ - - FinalAnniversaryMonth = wxT("0") + wxString::Format(wxT("%i"), ((int)AnniversaryMonth + 1)); - - } else { - - FinalAnniversaryMonth = wxString::Format(wxT("%i"), ((int)AnniversaryMonth + 1)); - - } - - if (AnniversaryYear == 0){ - - FinalAnniversaryYear = wxT("--"); - - } else { - - FinalAnniversaryYear = wxString::Format(wxT("%i"), AnniversaryYear); - - } - - if (!DataAfterT.IsEmpty()){ - - FinalAnniversaryString = FinalAnniversaryYear + FinalAnniversaryMonth + FinalAnniversaryDay + wxT("T") + DataAfterT; - - } else { - - FinalAnniversaryString = FinalAnniversaryYear + FinalAnniversaryMonth + FinalAnniversaryDay; - - } - - if (!FinalAnniversaryString.IsEmpty() || !strValue2.IsEmpty()){ - - if (!strValue2.IsEmpty()){ - - EscapeString(&strValue2, FALSE); - EscapeString(&strValue, FALSE); - - ContactData.AddRaw(wxT("ANNIVERSARY") + strValue2 + wxT(";"), FinalAnniversaryString); - - } else { - - EscapeString(&strValue, FALSE); - - ContactData.AddRaw(wxT("ANNIVERSARY"), FinalAnniversaryString); - - } - - } - - } - - } - - // Setup the addresses (General, Home, Business). - - //intValue = GeneralAddressList.size(); - ResetSaveProcessData(); - - for (std::map::iterator iter = GeneralAddressList.begin(); - iter != GeneralAddressList.end(); ++iter){ - - int intSeekValue = iter->first; - - wxString strAddressString; - wxString strAddressFinalValue; - std::map::iterator iterValue; - - strAddressString.Append(wxT(";;")); - - // Get Address - - iterValue = GeneralAddressList.find(intSeekValue); - strAddressFinalValue = iterValue->second; - ProcessCaptureStrings(&strAddressFinalValue); - strAddressString.Append(strAddressFinalValue + wxT(";")); - strAddressFinalValue.Clear(); - - // Get Town - - iterValue = GeneralAddressListTown.find(intSeekValue); - strAddressFinalValue = iterValue->second; - ProcessCaptureStrings(&strAddressFinalValue); - strAddressString.Append(strAddressFinalValue + wxT(";")); - strAddressFinalValue.Clear(); - - // Get County - - iterValue = GeneralAddressListCounty.find(intSeekValue); - strAddressFinalValue = iterValue->second; - ProcessCaptureStrings(&strAddressFinalValue); - strAddressString.Append(strAddressFinalValue + wxT(";")); - strAddressFinalValue.Clear(); - - // Get Post Code - - iterValue = GeneralAddressListPostCode.find(intSeekValue); - strAddressFinalValue = iterValue->second; - ProcessCaptureStrings(&strAddressFinalValue); - strAddressString.Append(strAddressFinalValue + wxT(";")); - strAddressFinalValue.Clear(); - - // Get Country - - iterValue = GeneralAddressListCountry.find(intSeekValue); - strAddressFinalValue = iterValue->second; - ProcessCaptureStrings(&strAddressFinalValue); - strAddressString.Append(strAddressFinalValue); - strAddressFinalValue.Clear(); - - ProcessSaveData(wxT("ADR"), &strValue2, &boolValue2, &boolValue, - &iter, &strAddressString, &ContactData, - wxT("LABEL"), &GeneralAddressListLabel, - wxT("LANGUAGE"), &GeneralAddressListLang, - wxT("ALTID"), &GeneralAddressListAltID, - wxT("PID"), &GeneralAddressListPID, - wxT("GEO"), &GeneralAddressListGeo, - wxT("TZ"), &GeneralAddressListTimezone, - wxT("MEDIATYPE"), &GeneralAddressListMediatype, - wxT("PREF"), &GeneralAddressListPref, - wxT(""), &GeneralAddressListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = HomeAddressList.begin(); - iter != HomeAddressList.end(); ++iter){ - - int intSeekValue = iter->first; - - wxString strAddressString; - wxString strAddressFinalValue; - std::map::iterator iterValue; - - strAddressString.Append(wxT(";;")); - - // Get Address - - iterValue = HomeAddressList.find(intSeekValue); - strAddressFinalValue = iterValue->second; - ProcessCaptureStrings(&strAddressFinalValue); - - strAddressString.Append(strAddressFinalValue + wxT(";")); - - // Get Town - - iterValue = HomeAddressListTown.find(intSeekValue); - strAddressFinalValue = iterValue->second; - ProcessCaptureStrings(&strAddressFinalValue); - - strAddressString.Append(strAddressFinalValue + wxT(";")); - - // Get County - - iterValue = HomeAddressListCounty.find(intSeekValue); - strAddressFinalValue = iterValue->second; - ProcessCaptureStrings(&strAddressFinalValue); - - strAddressString.Append(strAddressFinalValue + wxT(";")); - - // Get Post Code - - iterValue = HomeAddressListPostCode.find(intSeekValue); - strAddressFinalValue = iterValue->second; - ProcessCaptureStrings(&strAddressFinalValue); - - strAddressString.Append(strAddressFinalValue + wxT(";")); - - // Get Country - - iterValue = HomeAddressListCountry.find(intSeekValue); - strAddressFinalValue = iterValue->second; - ProcessCaptureStrings(&strAddressFinalValue); - - strAddressString.Append(strAddressFinalValue); - - ProcessSaveData(wxT("ADR;TYPE=home"), &strValue2, &boolValue2, &boolValue, - &iter, &strAddressString, &ContactData, - wxT("LABEL"), &HomeAddressListLabel, - wxT("LANGUAGE"), &HomeAddressListLang, - wxT("ALTID"), &HomeAddressListAltID, - wxT("PID"), &HomeAddressListPID, - wxT("GEO"), &HomeAddressListGeo, - wxT("TZ"), &HomeAddressListTimezone, - wxT("MEDIATYPE"), &HomeAddressListMediatype, - wxT("PREF"), &HomeAddressListPref, - wxT(""), &HomeAddressListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = BusinessAddressList.begin(); - iter != BusinessAddressList.end(); ++iter){ - - int intSeekValue = iter->first; - - wxString strAddressString; - wxString strAddressFinalValue; - std::map::iterator iterValue; - - strAddressString.Append(wxT(";;")); - - // Get Address - - iterValue = BusinessAddressList.find(intSeekValue); - strAddressFinalValue = iterValue->second; - ProcessCaptureStrings(&strAddressFinalValue); - - strAddressString.Append(strAddressFinalValue + wxT(";")); - - // Get Town - - iterValue = BusinessAddressListTown.find(intSeekValue); - strAddressFinalValue = iterValue->second; - ProcessCaptureStrings(&strAddressFinalValue); - - strAddressString.Append(strAddressFinalValue + wxT(";")); - - // Get County - - iterValue = BusinessAddressListCounty.find(intSeekValue); - strAddressFinalValue = iterValue->second; - ProcessCaptureStrings(&strAddressFinalValue); - - strAddressString.Append(strAddressFinalValue + wxT(";")); - - // Get Post Code - - iterValue = BusinessAddressListPostCode.find(intSeekValue); - strAddressFinalValue = iterValue->second; - ProcessCaptureStrings(&strAddressFinalValue); - - strAddressString.Append(strAddressFinalValue + wxT(";")); - - // Get Country - - iterValue = BusinessAddressListCountry.find(intSeekValue); - strAddressFinalValue = iterValue->second; - ProcessCaptureStrings(&strAddressFinalValue); - - strAddressString.Append(strAddressFinalValue); - - ProcessSaveData(wxT("ADR;TYPE=work"), &strValue2, &boolValue2, &boolValue, - &iter, &strAddressString, &ContactData, - wxT("LABEL"), &BusinessAddressListLabel, - wxT("LANGUAGE"), &BusinessAddressListLang, - wxT("ALTID"), &BusinessAddressListAltID, - wxT("PID"), &BusinessAddressListPID, - wxT("GEO"), &BusinessAddressListGeo, - wxT("TZ"), &BusinessAddressListTimezone, - wxT("MEDIATYPE"), &BusinessAddressListMediatype, - wxT("PREF"), &BusinessAddressListPref, - wxT(""), &BusinessAddressListTokens ); - - ResetSaveProcessData(); - - } - - // Sort out nicknames (if any). - - for (std::map::iterator iter = GeneralNicknamesList.begin(); - iter != GeneralNicknamesList.end(); ++iter){ - - intValue2 = iter->first; - - // Process Alternative ID. - - ProcessSaveData(wxT("NICKNAME"), &strValue2, &boolValue2, &boolValue, - &iter, &GeneralNicknamesList, &ContactData, - wxT("LANGUAGE"), &GeneralNicknamesListLanguage, - wxT("ALTID"), &GeneralNicknamesListAltID, - wxT("PID"), &GeneralNicknamesListPID, - wxT("PREF"), &GeneralNicknamesListPref, - wxT(""), &GeneralNicknamesListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = HomeNicknamesList.begin(); - iter != HomeNicknamesList.end(); ++iter){ - - ProcessSaveData(wxT("NICKNAME;TYPE=home"), &strValue2, &boolValue2, &boolValue, - &iter, &HomeNicknamesList, &ContactData, - wxT("LANGUAGE"), &HomeNicknamesListLanguage, - wxT("ALTID"), &HomeNicknamesListAltID, - wxT("PID"), &HomeNicknamesListPID, - wxT("PREF"), &HomeNicknamesListPref, - wxT(""), &HomeNicknamesListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = BusinessNicknamesList.begin(); - iter != BusinessNicknamesList.end(); ++iter){ - - ProcessSaveData(wxT("NICKNAME;TYPE=work"), &strValue2, &boolValue2, &boolValue, - &iter, &BusinessNicknamesList, &ContactData, - wxT("LANGUAGE"), &BusinessNicknamesListLanguage, - wxT("ALTID"), &BusinessNicknamesListAltID, - wxT("PID"), &BusinessNicknamesListPID, - wxT("PREF"), &BusinessNicknamesListPref, - wxT(""), &BusinessNicknamesListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - // Sort out email (general, home and business). - - for (std::map::iterator iter = GeneralEmailList.begin(); - iter != GeneralEmailList.end(); ++iter){ - - //strValue3 = ContactData.Convert(GeneralAddressList, FALSE); - //strValue2 = - - wxString strAddressFinalValue; - std::map::iterator iterValue; - - ProcessSaveData(wxT("EMAIL"), &strValue2, &boolValue2, &boolValue, - &iter, &GeneralEmailList, &ContactData, - wxT("ALTID"), &GeneralEmailListAltID, - wxT("PID"), &GeneralEmailListPID, - wxT("PREF"), &GeneralEmailListPref, - wxT(""), &GeneralEmailListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = HomeEmailList.begin(); - iter != HomeEmailList.end(); ++iter){ - - //strValue3 = ContactData.Convert(GeneralAddressList, FALSE); - //strValue2 = - - ProcessSaveData(wxT("EMAIL;TYPE=home"), &strValue2, &boolValue2, &boolValue, - &iter, &HomeEmailList, &ContactData, - wxT("ALTID"), &HomeEmailListAltID, - wxT("PID"), &HomeEmailListPID, - wxT("PREF"), &HomeEmailListPref, - wxT(""), &HomeEmailListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = BusinessEmailList.begin(); - iter != BusinessEmailList.end(); ++iter){ - - //strValue3 = ContactData.Convert(GeneralAddressList, FALSE); - //strValue2 = - - ProcessSaveData(wxT("EMAIL;TYPE=work"), &strValue2, &boolValue2, &boolValue, - &iter, &BusinessEmailList, &ContactData, - wxT("ALTID"), &BusinessEmailListAltID, - wxT("PID"), &BusinessEmailListPID, - wxT("PREF"), &BusinessEmailListPref, - wxT(""), &BusinessEmailListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = GeneralIMList.begin(); - iter != GeneralIMList.end(); ++iter){ - - intValue2 = iter->first; - - // Process Alternative ID. - - ProcessSaveData(wxT("IMPP"), &strValue2, &boolValue2, &boolValue, - &iter, &GeneralIMList, &ContactData, - wxT("ALTID"), &GeneralIMListAltID, - wxT("PID"), &GeneralIMListPID, - wxT("MEDIATYPE"), &GeneralIMListMediatype, - wxT("PREF"), &GeneralIMListPref, - wxT(""), &GeneralIMListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = HomeIMList.begin(); - iter != HomeIMList.end(); ++iter){ - - ProcessSaveData(wxT("IMPP;TYPE=home"), &strValue2, &boolValue2, &boolValue, - &iter, &HomeIMList, &ContactData, - wxT("ALTID"), &HomeIMListAltID, - wxT("PID"), &HomeIMListPID, - wxT("MEDIATYPE"), &HomeIMListMediatype, - wxT("PREF"), &HomeIMListPref, - wxT(""), &HomeIMListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = BusinessIMList.begin(); - iter != BusinessIMList.end(); ++iter){ - - ProcessSaveData(wxT("IMPP;TYPE=work"), &strValue2, &boolValue2, &boolValue, - &iter, &BusinessIMList, &ContactData, - wxT("ALTID"), &BusinessIMListAltID, - wxT("PID"), &BusinessIMListPID, - wxT("MEDIATYPE"), &BusinessIMListMediatype, - wxT("PREF"), &BusinessIMListPref, - wxT(""), &BusinessIMListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = GeneralTelephoneList.begin(); - iter != GeneralTelephoneList.end(); ++iter){ - - wxString strAddressFinalValue = iter->second; - - ProcessCaptureStrings(&strAddressFinalValue); - - strAddressFinalValue.insert(0, wxT("tel:")); - - ProcessSaveData(wxT("TEL"), &strValue2, &boolValue2, &boolValue, - &iter, &strAddressFinalValue, &ContactData, - wxT("ALTID"), &GeneralTelephoneListAltID, - wxT("PID"), &GeneralTelephoneListPID, - wxT("TYPE"), &GeneralTelephoneListType, - wxT("PREF"), &GeneralTelephoneListPref, - wxT(""), &GeneralTelephoneListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = HomeTelephoneList.begin(); - iter != HomeTelephoneList.end(); ++iter){ - - wxString strAddressFinalValue = iter->second; - - ProcessCaptureStrings(&strAddressFinalValue); - - strAddressFinalValue.insert(0, wxT("tel:")); - - ProcessSaveData(wxT("TEL"), &strValue2, &boolValue2, &boolValue, - &iter, &strAddressFinalValue, &ContactData, - wxT("ALTID"), &HomeTelephoneListAltID, - wxT("PID"), &HomeTelephoneListPID, - wxT("TYPE"), &HomeTelephoneListType, - wxT("PREF"), &HomeTelephoneListPref, - wxT(""), &HomeTelephoneListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = BusinessTelephoneList.begin(); - iter != BusinessTelephoneList.end(); ++iter){ - - wxString strAddressFinalValue = iter->second; - - ProcessCaptureStrings(&strAddressFinalValue); - - strAddressFinalValue.insert(0, wxT("tel:")); - - ProcessSaveData(wxT("TEL"), &strValue2, &boolValue2, &boolValue, - &iter, &strAddressFinalValue, &ContactData, - wxT("ALTID"), &BusinessTelephoneListAltID, - wxT("PID"), &BusinessTelephoneListPID, - wxT("TYPE"), &BusinessTelephoneListType, - wxT("PREF"), &BusinessTelephoneListPref, - wxT(""), &BusinessTelephoneListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = GeneralLanguageList.begin(); - iter != GeneralLanguageList.end(); ++iter){ - - intValue2 = iter->first; - - ProcessSaveData(wxT("LANG"), &strValue2, &boolValue2, &boolValue, - &iter, &GeneralLanguageList, &ContactData, - wxT("ALTID"), &GeneralLanguageListAltID, - wxT("PID"), &GeneralLanguageListPID, - wxT("PREF"), &GeneralLanguageListPref, - wxT(""), &GeneralLanguageListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = HomeLanguageList.begin(); - iter != HomeLanguageList.end(); ++iter){ - - ProcessSaveData(wxT("LANG;TYPE=home"), &strValue2, &boolValue2, &boolValue, - &iter, &HomeLanguageList, &ContactData, - wxT("ALTID"), &HomeLanguageListAltID, - wxT("PID"), &HomeLanguageListPID, - wxT("PREF"), &HomeLanguageListPref, - wxT(""), &HomeLanguageListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = BusinessLanguageList.begin(); - iter != BusinessLanguageList.end(); ++iter){ - - ProcessSaveData(wxT("LANG;TYPE=work"), &strValue2, &boolValue2, &boolValue, - &iter, &BusinessLanguageList, &ContactData, - wxT("ALTID"), &BusinessLanguageListAltID, - wxT("PID"), &BusinessLanguageListPID, - wxT("PREF"), &BusinessLanguageListPref, - wxT(""), &BusinessLanguageListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = GeneralTZList.begin(); - iter != GeneralTZList.end(); ++iter){ - - ProcessSaveData(wxT("TZ"), &strValue2, &boolValue2, &boolValue, - &iter, &GeneralTZList, &ContactData, - wxT("ALTID"), &GeneralTZListAltID, - wxT("PID"), &GeneralTZListPID, - wxT("MEDIATYPE"), &GeneralTZListMediatype, - wxT("PREF"), &GeneralTZListPref, - wxT(""), &GeneralTZListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = HomeTZList.begin(); - iter != HomeTZList.end(); ++iter){ - - ProcessSaveData(wxT("TZ;TYPE=home"), &strValue2, &boolValue2, &boolValue, - &iter, &HomeTZList, &ContactData, - wxT("ALTID"), &HomeTZListAltID, - wxT("PID"), &HomeTZListPID, - wxT("MEDIATYPE"), &HomeTZListMediatype, - wxT("PREF"), &HomeTZListPref, - wxT(""), &HomeTZListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = BusinessTZList.begin(); - iter != BusinessTZList.end(); ++iter){ - - ProcessSaveData(wxT("TZ;TYPE=work"), &strValue2, &boolValue2, &boolValue, - &iter, &BusinessTZList, &ContactData, - wxT("ALTID"), &BusinessTZListAltID, - wxT("PID"), &BusinessTZListPID, - wxT("MEDIATYPE"), &BusinessTZListMediatype, - wxT("PREF"), &BusinessTZListPref, - wxT(""), &BusinessTZListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = GeneralGeographyList.begin(); - iter != GeneralGeographyList.end(); ++iter){ - - wxString strAddressFinalValue = iter->second; - - ProcessCaptureStrings(&strAddressFinalValue); - - strAddressFinalValue.insert(0, wxT("geo:")); - - ProcessSaveData(wxT("GEO"), &strValue2, &boolValue2, &boolValue, - &iter, &strAddressFinalValue, &ContactData, - wxT("ALTID"), &GeneralGeographyListAltID, - wxT("PID"), &GeneralGeographyListPID, - wxT("MEDIATYPE"), &GeneralGeographyListMediatype, - wxT("PREF"), &GeneralGeographyListPref, - wxT(""), &GeneralGeographyListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = HomeGeographyList.begin(); - iter != HomeGeographyList.end(); ++iter){ - - wxString strAddressFinalValue = iter->second; - - ProcessCaptureStrings(&strAddressFinalValue); - - strAddressFinalValue.insert(0, wxT("geo:")); - - ProcessSaveData(wxT("GEO;TYPE=home"), &strValue2, &boolValue2, &boolValue, - &iter, &HomeGeographyList, &ContactData, - wxT("ALTID"), &HomeGeographyListAltID, - wxT("PID"), &HomeGeographyListPID, - wxT("MEDIATYPE"), &HomeGeographyListMediatype, - wxT("PREF"), &HomeGeographyListPref, - wxT(""), &HomeGeographyListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = BusinessGeographyList.begin(); - iter != BusinessGeographyList.end(); ++iter){ - - wxString strAddressFinalValue = iter->second; - - ProcessCaptureStrings(&strAddressFinalValue); - - strAddressFinalValue.insert(0, wxT("geo:")); - - ProcessSaveData(wxT("GEO;TYPE=work"), &strValue2, &boolValue2, &boolValue, - &iter, &BusinessGeographyList, &ContactData, - wxT("ALTID"), &BusinessGeographyListAltID, - wxT("PID"), &BusinessGeographyListPID, - wxT("MEDIATYPE"), &BusinessGeographyListMediatype, - wxT("PREF"), &BusinessGeographyListPref, - wxT(""), &BusinessGeographyListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = GeneralRelatedList.begin(); - iter != GeneralRelatedList.end(); ++iter){ - - ProcessSaveData(wxT("RELATED"), &strValue2, &boolValue2, &boolValue, - &iter, &GeneralRelatedList, &ContactData, - wxT("ALTID"), &GeneralRelatedListAltID, - wxT("PID"), &GeneralRelatedListPID, - wxT("LANGUAGE"), &GeneralRelatedListLanguage, - wxT("TYPE"), &GeneralRelatedListRelType, - wxT("PREF"), &GeneralRelatedListPref, - wxT(""), &GeneralRelatedListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = GeneralWebsiteList.begin(); - iter != GeneralWebsiteList.end(); ++iter){ - - ProcessSaveData(wxT("URL"), &strValue2, &boolValue2, &boolValue, - &iter, &GeneralWebsiteList, &ContactData, - wxT("ALTID"), &GeneralWebsiteListAltID, - wxT("PID"), &GeneralWebsiteListPID, - wxT("MEDIATYPE"), &GeneralWebsiteListMediatype, - wxT("PREF"), &GeneralWebsiteListPref, - wxT(""), &GeneralWebsiteListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = HomeWebsiteList.begin(); - iter != HomeWebsiteList.end(); ++iter){ - - ProcessSaveData(wxT("URL;TYPE=home"), &strValue2, &boolValue2, &boolValue, - &iter, &HomeWebsiteList, &ContactData, - wxT("ALTID"), &HomeWebsiteListAltID, - wxT("PID"), &HomeWebsiteListPID, - wxT("MEDIATYPE"), &HomeWebsiteListMediatype, - wxT("PREF"), &HomeWebsiteListPref, - wxT(""), &HomeWebsiteListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = BusinessWebsiteList.begin(); - iter != BusinessWebsiteList.end(); ++iter){ - - ProcessSaveData(wxT("URL;TYPE=work"), &strValue2, &boolValue2, &boolValue, - &iter, &BusinessWebsiteList, &ContactData, - wxT("ALTID"), &BusinessWebsiteListAltID, - wxT("PID"), &BusinessWebsiteListPID, - wxT("MEDIATYPE"), &BusinessWebsiteListMediatype, - wxT("PREF"), &BusinessWebsiteListPref, - wxT(""), &BusinessWebsiteListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = GeneralTitleList.begin(); - iter != GeneralTitleList.end(); ++iter){ - - ProcessSaveData(wxT("TITLE"), &strValue2, &boolValue2, &boolValue, - &iter, &GeneralTitleList, &ContactData, - wxT("ALTID"), &GeneralTitleListAltID, - wxT("PID"), &GeneralTitleListPID, - wxT("LANGUAGE"), &GeneralTitleListLanguage, - wxT("PREF"), &GeneralTitleListPref, - wxT(""), &GeneralTitleListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = HomeTitleList.begin(); - iter != HomeTitleList.end(); ++iter){ - - ProcessSaveData(wxT("TITLE;TYPE=home"), &strValue2, &boolValue2, &boolValue, - &iter, &HomeTitleList, &ContactData, - wxT("ALTID"), &HomeTitleListAltID, - wxT("PID"), &HomeTitleListPID, - wxT("LANGUAGE"), &HomeTitleListLanguage, - wxT("PREF"), &HomeTitleListPref, - wxT(""), &HomeTitleListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = BusinessTitleList.begin(); - iter != BusinessTitleList.end(); ++iter){ - - ProcessSaveData(wxT("TITLE;TYPE=work"), &strValue2, &boolValue2, &boolValue, - &iter, &BusinessTitleList, &ContactData, - wxT("ALTID"), &BusinessTitleListAltID, - wxT("PID"), &BusinessTitleListPID, - wxT("LANGUAGE"), &BusinessTitleListLanguage, - wxT("PREF"), &BusinessTitleListPref, - wxT(""), &BusinessTitleListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = GeneralRoleList.begin(); - iter != GeneralRoleList.end(); ++iter){ - - ProcessSaveData(wxT("ROLE"), &strValue2, &boolValue2, &boolValue, - &iter, &GeneralRoleList, &ContactData, - wxT("ALTID"), &GeneralRoleListAltID, - wxT("PID"), &GeneralRoleListPID, - wxT("LANGUAGE"), &GeneralRoleListLanguage, - wxT("PREF"), &GeneralRoleListPref, - wxT(""), &GeneralRoleListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = HomeRoleList.begin(); - iter != HomeRoleList.end(); ++iter){ - - ProcessSaveData(wxT("ROLE;TYPE=home"), &strValue2, &boolValue2, &boolValue, - &iter, &HomeRoleList, &ContactData, - wxT("ALTID"), &HomeRoleListAltID, - wxT("PID"), &HomeRoleListPID, - wxT("LANGUAGE"), &HomeRoleListLanguage, - wxT("PREF"), &HomeRoleListPref, - wxT(""), &HomeRoleListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = BusinessRoleList.begin(); - iter != BusinessRoleList.end(); ++iter){ - - ProcessSaveData(wxT("ROLE;TYPE=work"), &strValue2, &boolValue2, &boolValue, - &iter, &BusinessRoleList, &ContactData, - wxT("ALTID"), &BusinessRoleListAltID, - wxT("PID"), &BusinessRoleListPID, - wxT("LANGUAGE"), &BusinessRoleListLanguage, - wxT("PREF"), &BusinessRoleListPref, - wxT(""), &BusinessRoleListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = GeneralOrganisationsList.begin(); - iter != GeneralOrganisationsList.end(); ++iter){ - - ProcessSaveData(wxT("ORG"), &strValue2, &boolValue2, &boolValue, - &iter, &GeneralOrganisationsList, &ContactData, - wxT("ALTID"), &GeneralOrganisationsListAltID, - wxT("PID"), &GeneralOrganisationsListPID, - wxT("LANGUAGE"), &GeneralOrganisationsListLanguage, - wxT("SORT-AS"), &GeneralOrganisationsListSortAs, - wxT("PREF"), &GeneralOrganisationsListPref, - wxT(""), &GeneralOrganisationsListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = HomeOrganisationsList.begin(); - iter != HomeOrganisationsList.end(); ++iter){ - - ProcessSaveData(wxT("ORG;TYPE=home"), &strValue2, &boolValue2, &boolValue, - &iter, &HomeOrganisationsList, &ContactData, - wxT("ALTID"), &HomeOrganisationsListAltID, - wxT("PID"), &HomeOrganisationsListPID, - wxT("LANGUAGE"), &HomeOrganisationsListLanguage, - wxT("SORT-AS"), &HomeOrganisationsListSortAs, - wxT("PREF"), &HomeOrganisationsListPref, - wxT(""), &HomeOrganisationsListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = BusinessOrganisationsList.begin(); - iter != BusinessOrganisationsList.end(); ++iter){ - - ProcessSaveData(wxT("ORG;TYPE=work"), &strValue2, &boolValue2, &boolValue, - &iter, &BusinessOrganisationsList, &ContactData, - wxT("ALTID"), &BusinessOrganisationsListAltID, - wxT("PID"), &BusinessOrganisationsListPID, - wxT("LANGUAGE"), &BusinessOrganisationsListLanguage, - wxT("SORT-AS"), &BusinessOrganisationsListSortAs, - wxT("PREF"), &BusinessOrganisationsListPref, - wxT(""), &BusinessOrganisationsListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = GeneralNoteList.begin(); - iter != GeneralNoteList.end(); ++iter){ - - ProcessSaveData(wxT("NOTE"), &strValue2, &boolValue2, &boolValue, - &iter, &GeneralNoteList, &ContactData, - wxT("ALTID"), &GeneralNoteListAltID, - wxT("PID"), &GeneralNoteListPID, - wxT("LANGUAGE"), &GeneralNoteListLanguage, - wxT("PREF"), &GeneralNoteListPref, - wxT(""), &GeneralNoteListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = HomeNoteList.begin(); - iter != HomeNoteList.end(); ++iter){ - - ProcessSaveData(wxT("NOTE;TYPE=home"), &strValue2, &boolValue2, &boolValue, - &iter, &HomeNoteList, &ContactData, - wxT("ALTID"), &HomeNoteListAltID, - wxT("PID"), &HomeNoteListPID, - wxT("LANGUAGE"), &HomeNoteListLanguage, - wxT("PREF"), &HomeNoteListPref, - wxT(""), &HomeNoteListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = BusinessNoteList.begin(); - iter != BusinessNoteList.end(); ++iter){ - - ProcessSaveData(wxT("NOTE;TYPE=work"), &strValue2, &boolValue2, &boolValue, - &iter, &BusinessNoteList, &ContactData, - wxT("ALTID"), &BusinessNoteListAltID, - wxT("PID"), &BusinessNoteListPID, - wxT("LANGUAGE"), &BusinessNoteListLanguage, - wxT("PREF"), &BusinessNoteListPref, - wxT(""), &BusinessNoteListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = CategoriesList.begin(); - iter != CategoriesList.end(); ++iter){ - - ProcessSaveData(wxT("CATEGORIES"), &strValue2, &boolValue2, &boolValue, - &iter, &CategoriesList, &ContactData, - wxT("ALTID"), &CategoriesListAltID, - wxT("PID"), &CategoriesListPID, - wxT("TYPE"), &CategoriesListType, - wxT("PREF"), &CategoriesListPref, - wxT(""), &CategoriesListTokens ); - - ResetSaveProcessData(); - - } - - // Pictures. - - for (std::map::iterator iter = PicturesList.begin(); - iter != PicturesList.end(); ++iter){ - - int intValueIndex = iter->first; - - std::map::iterator stdstriter; - std::map::iterator enciter; - - striter = PicturesListPictureType.find(intValueIndex); - enciter = PicturesListPicEncType.find(intValueIndex); - - ProcessSaveData(wxT("PHOTO"), &strValue2, &boolValue2, &boolValue, - &iter, &PicturesList, &striter, - &enciter, &ContactData, - wxT("ALTID"), &PicturesListAltID, - wxT("PID"), &PicturesListPID, - wxT("TYPE"), &PicturesListType, - wxT("PREF"), &PicturesListPref, - wxT(""), &PicturesListTokens); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - // Logos. - - for (std::map::iterator iter = LogosList.begin(); - iter != LogosList.end(); ++iter){ - - int intValueIndex = iter->first; - - std::map::iterator stdstriter; - std::map::iterator enciter; - - striter = LogosListPictureType.find(intValueIndex); - enciter = LogosListPicEncType.find(intValueIndex); - - ProcessSaveData(wxT("LOGO"), &strValue2, &boolValue2, &boolValue, - &iter, &LogosList, &striter, - &enciter, &ContactData, - wxT("ALTID"), &LogosListAltID, - wxT("PID"), &LogosListPID, - wxT("TYPE"), &LogosListType, - wxT("PREF"), &LogosListPref, - wxT(""), &LogosListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - // Sounds. - - for (std::map::iterator iter = SoundsList.begin(); - iter != SoundsList.end(); ++iter){ - - int intValueIndex = iter->first; - - std::map::iterator stdstriter; - std::map::iterator enciter; - - striter = SoundsListAudioType.find(intValueIndex); - enciter = SoundsListAudioEncType.find(intValueIndex); - - ProcessSaveData(wxT("SOUND"), &strValue2, &boolValue2, &boolValue, - &iter, &SoundsList, &striter, - &enciter, &ContactData, - wxT("ALTID"), &SoundsListAltID, - wxT("PID"), &SoundsListPID, - wxT("TYPE"), &SoundsListType, - wxT("PREF"), &SoundsListPref, - wxT(""), &SoundsListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = CalendarList.begin(); - iter != CalendarList.end(); ++iter){ - - ProcessSaveData(wxT("CALURI"), &strValue2, &boolValue2, &boolValue, - &iter, &CalendarList, &ContactData, - wxT("ALTID"), &CalendarListAltID, - wxT("PID"), &CalendarListPID, - wxT("MEDIATYPE"), &CalendarListMediatype, - wxT("TYPE"), &CalendarListType, - wxT("PREF"), &CalendarListPref, - wxT(""), &CalendarListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = CalendarRequestList.begin(); - iter != CalendarRequestList.end(); ++iter){ - - ProcessSaveData(wxT("CALADRURI"), &strValue2, &boolValue2, &boolValue, - &iter, &CalendarRequestList, &ContactData, - wxT("ALTID"), &CalendarRequestListAltID, - wxT("PID"), &CalendarRequestListPID, - wxT("MEDIATYPE"), &CalendarRequestListMediatype, - wxT("TYPE"), &CalendarRequestListType, - wxT("PREF"), &CalendarRequestListPref, - wxT(""), &CalendarRequestListTokens ); - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - for (std::map::iterator iter = FreeBusyList.begin(); - iter != FreeBusyList.end(); ++iter){ - - ProcessSaveData(wxT("FBURL"), &strValue2, &boolValue2, &boolValue, - &iter, &FreeBusyList, &ContactData, - wxT("ALTID"), &FreeBusyListAltID, - wxT("PID"), &FreeBusyListPID, - wxT("MEDIATYPE"), &FreeBusyListMediatype, - wxT("TYPE"), &FreeBusyListType, - wxT("PREF"), &FreeBusyListPref, - wxT(""), &FreeBusyListTokens ); - - ResetSaveProcessData(); - - } - - for (std::map::iterator iter = KeyList.begin(); - iter != KeyList.end(); ++iter){ - - intValue2 = iter->first; - - // Process Alternative ID. - - striter = KeyListAltID.find(intValue2); - - if (striter->first == intValue2){ - - strValue3 = striter->second; - - if (!strValue3.IsEmpty()){ - - strValue3.Trim(); - strValue3.Trim(); - - if (boolValue2 == TRUE){ - - strValue2.Append(wxT(";")); - - } else { - - boolValue2 = TRUE; - - } - - strValue2.Append(wxT("ALTID=") + strValue3); - - boolValue = TRUE; - - } - - } - - // Process PID. - - striter = KeyListPID.find(intValue2); - - if (striter->first == intValue2){ - - strValue3 = striter->second; - - if (!strValue3.IsEmpty()){ - - strValue3.Trim(); - strValue3.Trim(); - - if (boolValue2 == TRUE){ - - strValue2.Append(wxT(";")); - - } else { - - boolValue2 = TRUE; - - } - - strValue2.Append(wxT("PID=") + strValue3); - - boolValue = TRUE; - - } - - } - - // Process Type. - - striter = KeyListType.find(intValue2); - - if (striter->first == intValue2){ - - strValue3 = striter->second; - - if (!strValue3.IsEmpty()){ - - strValue3.Trim(); - strValue3.Trim(); - - if (boolValue2 == TRUE){ - - strValue2.Append(wxT(";")); - - } else { - - boolValue2 = TRUE; - - } - - strValue2.Append(wxT("TYPE=") + strValue3); - - boolValue = TRUE; - - } - - } - - intiter = KeyListPref.find(intValue2); - - if (intiter->first == intValue2){ - - intValue3 = intiter->second; - - if (intValue3){ - - if (boolValue2 == TRUE){ - - strValue2.Append(wxT(";")); - - } else { - - boolValue2 = TRUE; - - } - - strValue2.Append(wxT("PREF=") + wxString::Format(wxT("%i"), intValue3)); - - boolValue = TRUE; - - } - - } - - // Process Tokens. - - striter = KeyListTokens.find(intValue2); - - if (striter->first == intValue2){ - - strValue3 = striter->second; - - if (!strValue3.IsEmpty()){ - - strValue3.Trim(); - strValue3.Trim(); - - if (boolValue2 == TRUE){ - - strValue2.Append(wxT(";")); - - } else { - - boolValue2 = TRUE; - - } - - strValue2.Append(strValue3); - - boolValue = TRUE; - - } - - } - - // Get the key information. - - std::map::iterator enciter; - - striter = KeyListDataType.find(intValue2); - //enciter = KeyListAudioEncType.find(intValue2); - - wxString strValueData; - - strValueData = iter->second; - //strValueData.insert(0, wxT("data:") + striter->second + wxT(";") + enciter->second + wxT(",")); - strValueData.insert(0, wxT("data:") + striter->second + wxT(";base64,")); - - - // Add to the vCard. - - if (boolValue == TRUE){ - - ContactData.AddRaw(wxT("KEY;") + strValue2, strValueData); - - } else { - - ContactData.Add(wxT("KEY"), strValueData, TRUE); - - } - - ResetSaveProcessData(); - - } - - // Vendor specific items. - - ResetSaveProcessData(); - - for (std::map::iterator iter = VendorList.begin(); - iter != VendorList.end(); ++iter){ - - intValue2 = iter->first; - - // Get the IANA PEN number. - - striter = VendorListPEN.find(intValue2); - - if (striter->first == intValue2){ - - strValue2 = striter->second; - - } - - // Get the element name. - - striter = VendorListElement.find(intValue2); - - if (striter->first == intValue2){ - - strValue3 = striter->second; - - } - - // Get the address. - - striter = VendorList.find(intValue2); - - if (striter->first == intValue2){ - - strValue = striter->second; - - } - - // Add to the vCard. - - if (boolValue == TRUE){ - - ContactData.AddRaw(wxT("VND-") + strValue2 + wxT("-") + strValue3, strValue); - - } else { - - ContactData.Add(wxT("VND-") + strValue2 + wxT("-") + strValue3, strValue, FALSE); - - } - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - // X-Tokens. - - for (std::map::iterator iter = XTokenList.begin(); - iter != XTokenList.end(); ++iter){ - - intValue2 = iter->first; - - // Get the element name. - - striter = XTokenListTokens.find(intValue2); - - if (striter->first == intValue2){ - - strValue2 = striter->second; - - } - - // Get the address. - - striter = XTokenList.find(intValue2); - - if (striter->first == intValue2){ - - strValue = striter->second; - - } - - // Add to the vCard. - - if (boolValue == TRUE){ - - ContactData.AddRaw(wxT("X-") + strValue2, strValue); - - } else { - - ContactData.Add(wxT("X-") + strValue2, strValue, FALSE); - - } - - ResetSaveProcessData(); - - } - - ResetSaveProcessData(); - - if (FullNamesList.size() == 0){ - - wxString FullName = cmbDisplayAs->GetValue(); - FullNamesList.insert(std::make_pair(0, FullName)); - FullNamesListAltID.insert(std::make_pair(0, wxT(""))); - FullNamesListPID.insert(std::make_pair(0, wxT(""))); - FullNamesListType.insert(std::make_pair(0, wxT(""))); - FullNamesListLanguage.insert(std::make_pair(0, wxT(""))); - FullNamesListPref.insert(std::make_pair(0, 0)); - FullNamesListTokens.insert(std::make_pair(0, wxT(""))); - FNFirst = FALSE; - - } - - for (std::map::iterator iter = FullNamesList.begin(); - iter != FullNamesList.end(); ++iter){ - - if (FNFirst == TRUE){ - - iter->second = cmbDisplayAs->GetValue(); - FNFirst = FALSE; - - } - - std::map::iterator mapS; - - mapS = FullNamesListTokens.find(iter->first); - - ProcessSaveData(wxT("FN"), &strValue2, &boolValue2, &boolValue, - &iter, &FullNamesList, &ContactData, - wxT("ALTID"), &FullNamesListAltID, - wxT("PID"), &FullNamesListPID, - wxT("TYPE"), &FullNamesListType, - wxT("LANGUAGE"), &FullNamesListLanguage, - wxT("PREF"), &FullNamesListPref, - wxT(""), &FullNamesListTokens ); - - // Get the address. - - ResetSaveProcessData(); - - } - - //ContactData.Add(wxT("FN"), cmbDisplayAs->GetValue(), FALSE); - - // Insert revision (REV) date. - - // Get today's date and time. - - wxDateTime DateTimeNow = wxDateTime::Now(); - - wxString DateRev; - - // Set year, month and date. - - int intYear = DateTimeNow.GetYear(); - int intMonth = DateTimeNow.GetMonth(); - int intDay = DateTimeNow.GetDay(); - - DateRev.Append(wxT("0") + wxString::Format(wxT("%i"), intYear)); - - if (intMonth < 10){ - - DateRev.Append(wxT("0") + wxString::Format(wxT("%i"), intMonth)); - - } else { - - DateRev.Append(wxString::Format(wxT("%i"), intMonth)); - - } - - if (intDay < 10){ - - DateRev.Append(wxT("0") + wxString::Format(wxT("%i"), intDay)); - - } else { - - DateRev.Append(wxString::Format(wxT("%i"), intDay)); - - } - - //DateRev.Append(wx); - //DateRev.Append(wx); - //DateRev.Append(wx); - DateRev.Append(wxT("T")); - - // Set hour, minute and second. - - int intHour = DateTimeNow.GetHour(); - int intMinute = DateTimeNow.GetMinute(); - int intSecond = DateTimeNow.GetSecond(); - - if (intHour < 10){ - - DateRev.Append(wxT("0") + wxString::Format(wxT("%i"), intHour)); - - } else { - - DateRev.Append(wxString::Format(wxT("%i"), intHour)); - - } - - if (intMinute < 10){ - - DateRev.Append(wxT("0") + wxString::Format(wxT("%i"), intMinute)); - - } else { - - DateRev.Append(wxString::Format(wxT("%i"), intMinute)); - - } - - if (intSecond < 10){ - - DateRev.Append(wxT("0") + wxString::Format(wxT("%i"), intSecond)); - - } else { - - DateRev.Append(wxString::Format(wxT("%i"), intSecond)); - - } - - // DateRev.Append(wx); - // DateRev.Append(wx); - // DateRev.Append(wxString DateTimeNow->); - DateRev.Append(wxT("Z")); - - ContactData.Add(wxT("UID"), UIDToken, FALSE); - - // End the vCard File. - - ContactData.Add(wxT("END"), wxT("VCARD"), FALSE); - - FMTimer.Stop(); - ContactData.WriteFile(FilenameFinal); - - vCard34Conv ConvFileFun; - - wxString wxSData; - - ConvFileFun.ConvertToV3(FilenameFinal, &wxSData); - - wxString AccountDirPrefix; - wxString AccountDir; - wxString PrefDir; - -#if defined(__HAIKU__) - - //preffilename = wxT("noo"); - -#elif defined(__APPLE__) - - PrefDir = GetUserPrefDir(); - - wxStringTokenizer wSTFilename(wxSContactFilename, wxT("/")); - -#elif defined(__WIN32__) - - PrefDir = GetUserPrefDir(); - - wxStringTokenizer wSTFilename(wxSContactFilename, wxT("\\")); - -#else - - PrefDir = GetUserPrefDir(); - - wxStringTokenizer wSTFilename(wxSContactFilename, wxT("/")); - -#endif - - XABPreferences PrefData(PrefDir); - - wxString AccountType; - - for (int i = 0; i < PrefData.accounts.GetCount(); i++){ - - AccountDir = PrefData.accounts.GetAccountDirectory(i) + wxT(".carddav"); - - if (AccountDir == wxSContactAccount){ - - AccountDirPrefix = PrefData.accounts.GetAccountDirPrefix(i); - AccountDirPrefix.Trim(); - AccountType = PrefData.accounts.GetAccountType(i); - break; - - } - - } - - wxString wxSplitFilename; - wxString wxSDataURL; - - while(wSTFilename.HasMoreTokens()){ - - wxSplitFilename = wSTFilename.GetNextToken(); - - } - - wxSDataURL = wxSplitFilename; - //wxSDataURL.Append(wxSplitFilename); - - // Find out if the filename exists in the table. - - if (AccountType == wxT("CardDAV") || AccountType == wxT("carddav")){ - - wxString ETagResult; - wxString ETagOriginal; - - ETagDB *ETagDBPtr = NULL; - - ETagDBPtr = ETagTmrPtr->GetPointer(wxSContactAccount); - - wxString wxSETag = ETagDBPtr->GetETag(wxSplitFilename); - wxString wxSETagOrig = ETagDBPtr->GetETagOriginal(wxSplitFilename); - - if (wxSETagOrig.IsEmpty()){ - - // Generate the ETag. - - wxSETagOrig = wxString::Format(wxT("%X%X%X%X"), rand() % 1024, rand() % 1024, rand() % 1024, rand() % 1024); - - } - - if (wxSETag.IsEmpty()){ - - // Update empty ETag. - - wxSETag = wxSETagOrig; - ETagDBPtr->UpdateETag(wxSplitFilename, wxSETag, wxSETagOrig); - - } - else { - - // Don't change original ETag. - - wxSETag = wxString::Format(wxT("%X%X%X%X"), rand() % 1024, rand() % 1024, rand() % 1024, rand() % 1024); - ETagDBPtr->UpdateETag(wxSplitFilename, wxSETag); - - } - - if (EditMode == FALSE){ - - ActMgrPtr->AddTask(0, cmbDisplayAs->GetValue(), wxSContactAccount, wxSDataURL, wxSplitFilename, FilenameFinal, wxSData); - EditMode = TRUE; - FMTimer.SetFilename(FilenameFinal); - FMTimer.UpdateTimestamp(); - FMTimer.Start(10000, FALSE); - - } - else { - - ActMgrPtr->AddTask(1, cmbDisplayAs->GetValue(), wxSContactAccount, wxSDataURL, wxSplitFilename, FilenameFinal, wxSData); - FMTimer.UpdateTimestamp(); - FMTimer.Start(10000, FALSE); - - } - - } - - // Send a notification to update the main window - // with the new details. - - UCNotif *ucd; - ucd = new UCNotif; +// TODO: Investigate problems with SFML & PulseAudio - CPU usage problems when +// not being used. + +// Replace intResult with intValueSeek. + +BEGIN_EVENT_TABLE(frmContactEditor, wxFrame) +EVT_COMMAND(wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED, frmContactEditor::ContactFileChanged) +END_EVENT_TABLE() + +frmContactEditor::frmContactEditor( wxWindow* parent ) +: +frmContactEditorADT( parent ) +{ + + boolContactModified = FALSE; + wxDateTime NoDate; + dapAnniversary->SetValue(NoDate); + dapBirthday->SetValue(NoDate); + tabMembers->Hide(); - // TODO: Workout nickname settings by priority and - // type. + // Setup the buttons. - ucd->ContactAccount = wxSContactAccount; - ucd->ContactFilename = FilenameFinal; - ucd->ContactName = cmbDisplayAs->GetValue(); - ucd->ContactNameArray = ContactData.GetName(); + wxMemoryInputStream istream(buttons_play_png, sizeof(buttons_play_png)); + wxImage button_play_pngi(istream, wxBITMAP_TYPE_PNG); + wxBitmap playiconbmp(button_play_pngi, -1); + btnPlay->SetBitmapLabel(playiconbmp); - for (std::map::iterator gniter = GeneralNicknamesList.begin(); - gniter != GeneralNicknamesList.end(); gniter++){ - - ucd->ContactNickname = gniter->second; - break; - - } + wxMemoryInputStream istream2(buttons_stop_png, sizeof(buttons_stop_png)); + wxImage button_stop_pngi(istream2, wxBITMAP_TYPE_PNG); + wxBitmap stopiconbmp(button_stop_pngi, -1); + btnStop->SetBitmapLabel(stopiconbmp); + btnStop->Disable(); + FMTimer.SetupPointers(this); + //wxIcon contacticon; + //contacticon.CopyFromBitmap(contacticonbmp); - wxCommandEvent event2(CE_UPDATECONTACTLIST); - event2.SetClientData(ucd); - wxPostEvent(MainPtr, event2); + nbkContact->SetSelection(0); } -void frmContactEditor::SaveCloseContact( wxCommandEvent& event ) +frmContactEditor::~frmContactEditor() { - - // Save the updated contact data and close the form. - + + if (AudioStreamPlaybackPointer != nullptr) + { + + delete AudioStreamPlaybackPointer; + AudioStreamPlaybackPointer = nullptr; + + } + } void frmContactEditor::CloseContact( wxCommandEvent& event ) { - Close(); + Close(); } void frmContactEditor::CloseWindow( wxCloseEvent& event ) { - // TODO: Check if any changes have been made, - // ask if the changes should be made, process - // action based on question and then close. + // TODO: Check if any changes have been made, + // ask if the changes should be made, process + // action based on question and then close. + + WindowData *WData = new WindowData; - WindowData *WData = new WindowData; + if (StartupEditMode == FALSE){ - WData->DataType = 1; - WData->WindowPointer = this; - WData->WindowID = ContactEditorUID; + WData->DataType = 1; + WData->WindowPointer = this; + WData->WindowID = ContactEditorUID; - wxCommandEvent delevent(WINDOW_CLOSE); - delevent.SetClientData(WData); - wxPostEvent(GetParent(), delevent); + wxCommandEvent delevent(WINDOW_CLOSE); + delevent.SetClientData(WData); + wxPostEvent(GetParent(), delevent); - Destroy(); + } + + Destroy(); } - void frmContactEditor::CutText( wxCommandEvent& event ) { - // This function left empty for future implementation. + // This function left empty for future implementation. } void frmContactEditor::CopyText( wxCommandEvent& event ) { - // This function left empty for future implementation. + // This function left empty for future implementation. } void frmContactEditor::PasteText( wxCommandEvent& event ) { - // This function left empty for future implementation. + // This function left empty for future implementation. } void frmContactEditor::SetupContact( wxString AccountName ) { - wxSContactAccount = AccountName; - -} - -bool frmContactEditor::ProcessEvent(wxEvent& event) -{ - - // This section has been taken from the wxWidgets sample code of richtext.cpp - // so that simple Cut/Copy/Paste code can be made. - - // As this code comes from the samples of the wxWidgets library, this is licenced - // under the wxWindows Library Licence and is compatable with the LGPL and is - // compatable with Xestia Address Book's licence. - - if (event.IsCommandEvent() && !event.IsKindOf(CLASSINFO(wxChildFocusEvent))) - { - // Problem: we can get infinite recursion because the events - // climb back up to this frame, and repeat. - // Assume that command events don't cause another command event - // to be called, so we can rely on inCommand not being overwritten - - static int s_eventType = 0; - static wxWindowID s_id = 0; - - if (s_id != event.GetId() && s_eventType != event.GetEventType()) - { - s_eventType = event.GetEventType(); - s_id = event.GetId(); - - wxWindow* focusWin = wxFindFocusDescendant(this); - if (focusWin && focusWin->GetEventHandler()->ProcessEvent(event)) - { - //s_command = NULL; - s_eventType = 0; - s_id = 0; - return true; - } - s_eventType = 0; - s_id = 0; - } - else - { - return false; - } - } - - return wxFrame::ProcessEvent(event); -} - -void frmContactEditor::SetupHeaders() -{ - - /* Items for the General Tab */ - - SetupColumn(CE_NICKNAME, lboNicknames); - SetupColumn(CE_ADDRESS, lboAddresses); - SetupColumn(CE_EMAIL, lboEmails); - SetupColumn(CE_IM, lboIM); - SetupColumn(CE_TELEPHONE, lboTelephone); - SetupColumn(CE_LANG, lboLanguages); - SetupColumn(CE_TZ, lboTimezones); - SetupColumn(CE_GEOPOSITION, lboGeoposition); - SetupColumn(CE_RELATED, lboRelated); - SetupColumn(CE_WEBSITE, lboWebsites); - SetupColumn(CE_TITLE, lboTitles); - SetupColumn(CE_ROLE, lboRoles); - SetupColumn(CE_ORG, lboOrganisations); - SetupColumn(CE_NOTE, lboNotes); - - /* Items for the Home Tab */ - - SetupColumn(CE_NICKNAME, lboHomeNicknames); - SetupColumn(CE_ADDRESS, lboHomeAddresses); - SetupColumn(CE_EMAIL, lboHomeEmails); - SetupColumn(CE_IM, lboHomeIM); - SetupColumn(CE_TELEPHONE, lboHomeTelephone); - SetupColumn(CE_LANG, lboHomeLanguages); - SetupColumn(CE_TZ, lboHomeTimezones); - SetupColumn(CE_GEOPOSITION, lboHomeGeoposition); - SetupColumn(CE_WEBSITE, lboHomeWebsites); - SetupColumn(CE_TITLE, lboHomeTitles); - SetupColumn(CE_ROLE, lboHomeRoles); - SetupColumn(CE_ORG, lboHomeOrganisations); - SetupColumn(CE_NOTE, lboHomeNotes); - - /* Items for the Business Tab */ - - SetupColumn(CE_NICKNAME, lboBusinessNicknames); - SetupColumn(CE_ADDRESS, lboBusinessAddresses); - SetupColumn(CE_EMAIL, lboBusinessEmail); - SetupColumn(CE_IM, lboBusinessIM); - SetupColumn(CE_TELEPHONE, lboBusinessTelephone); - SetupColumn(CE_LANG, lboBusinessLanguages); - SetupColumn(CE_TZ, lboBusinessTimezones); - SetupColumn(CE_GEOPOSITION, lboBusinessGeoposition); - SetupColumn(CE_WEBSITE, lboBusinessWebsites); - SetupColumn(CE_TITLE, lboBusinessTitles); - SetupColumn(CE_ROLE, lboBusinessRoles); - SetupColumn(CE_ORG, lboBusinessOrganisations); - SetupColumn(CE_NOTE, lboBusinessNotes); - - /* Items for the Categories Tab */ - - SetupColumn(CE_CATEGORIES, lboCategories); - - /* Items for the Groups Tab */ - - SetupColumn(CE_GROUPS, lboGroups); - - /* Items for the Pictures and Logos Tab */ - - SetupColumn(CE_PICTURES, lboPictures); - SetupColumn(CE_PICTURES, lboLogos); - - /* Items for the Sounds Tab */ - - SetupColumn(CE_SOUNDS, lboSounds); - - /* Items for the Calendaring Tab */ - - SetupColumn(CE_CALENDAR, lboCalendarAddresses); - SetupColumn(CE_CALENDAR, lboCalendarRequestAddress); - SetupColumn(CE_CALENDAR, lboFreeBusyAddresses); - - /* Items for the Security Tab */ - - SetupColumn(CE_KEY, lboKeys); - - /* Items for the Other Tab */ - - SetupColumn(CE_TOKEN, lboVendorNamespace); - SetupColumn(CE_TOKEN, lboXToken); + wxSContactAccount = AccountName; } -void frmContactEditor::SetupColumn(wxString ColumnType, wxListCtrl *ListCtrl) -{ - - wxListItem coldata; - - if (ColumnType == CE_NICKNAME){ - - coldata.SetId(0); - coldata.SetText(_("Nickname")); - coldata.SetWidth(128); - ListCtrl->InsertColumn(0, coldata); - - coldata.SetId(1); - coldata.SetText(_("Pri.")); - coldata.SetWidth(32); - ListCtrl->InsertColumn(1, coldata); - - } else if (ColumnType == CE_ADDRESS){ - - coldata.SetId(0); - coldata.SetText(_("Address")); - coldata.SetWidth(128); - ListCtrl->InsertColumn(0, coldata); - - coldata.SetId(1); - coldata.SetText(_("Town")); - coldata.SetWidth(64); - ListCtrl->InsertColumn(1, coldata); - - coldata.SetId(2); - coldata.SetText(_("County")); - coldata.SetWidth(64); - ListCtrl->InsertColumn(2, coldata); - - coldata.SetId(3); - coldata.SetText(_("Post code")); - coldata.SetWidth(48); - ListCtrl->InsertColumn(3, coldata); - - coldata.SetId(4); - coldata.SetText(_("Pri.")); - coldata.SetWidth(32); - ListCtrl->InsertColumn(4, coldata); - - } else if (ColumnType == CE_EMAIL){ - - coldata.SetId(0); - coldata.SetText(_("Email address")); - coldata.SetWidth(304); - ListCtrl->InsertColumn(0, coldata); - - coldata.SetId(1); - coldata.SetText(_("Pri.")); - coldata.SetWidth(32); - ListCtrl->InsertColumn(1, coldata); - - } else if (ColumnType == CE_IM){ - - coldata.SetId(0); - coldata.SetText(_("Type")); - coldata.SetWidth(64); - ListCtrl->InsertColumn(0, coldata); - - coldata.SetId(1); - coldata.SetText(_("Address")); - coldata.SetWidth(240); - ListCtrl->InsertColumn(1, coldata); - - coldata.SetId(2); - coldata.SetText(_("Pri.")); - coldata.SetWidth(32); - ListCtrl->InsertColumn(2, coldata); - - } else if (ColumnType == CE_TELEPHONE){ - - coldata.SetId(0); - coldata.SetText(_("Telephone number")); - coldata.SetWidth(128); - ListCtrl->InsertColumn(0, coldata); - - coldata.SetId(1); - coldata.SetText(_("Type")); - coldata.SetWidth(64); - ListCtrl->InsertColumn(1, coldata); - - coldata.SetId(2); - coldata.SetText(_("Pri.")); - coldata.SetWidth(32); - ListCtrl->InsertColumn(2, coldata); - - } else if (ColumnType == CE_LANG){ - - coldata.SetId(0); - coldata.SetText(_("Language")); - coldata.SetWidth(128); - ListCtrl->InsertColumn(0, coldata); - - coldata.SetId(1); - coldata.SetText(_("Pri.")); - coldata.SetWidth(32); - ListCtrl->InsertColumn(1, coldata); - - } else if (ColumnType == CE_TZ){ - - coldata.SetId(0); - coldata.SetText(_("Timezone")); - coldata.SetWidth(192); - ListCtrl->InsertColumn(0, coldata); - - coldata.SetId(1); - coldata.SetText(_("Pri.")); - coldata.SetWidth(32); - ListCtrl->InsertColumn(1, coldata); - - } else if (ColumnType == CE_RELATED){ - - coldata.SetId(0); - coldata.SetText(_("Type")); - coldata.SetWidth(64); - ListCtrl->InsertColumn(0, coldata); - - coldata.SetId(1); - coldata.SetText(_("Name/Description")); - coldata.SetWidth(192); - ListCtrl->InsertColumn(1, coldata); - - coldata.SetId(2); - coldata.SetText(_("Pri.")); - coldata.SetWidth(32); - ListCtrl->InsertColumn(2, coldata); - - } else if (ColumnType == CE_WEBSITE){ - - coldata.SetId(0); - coldata.SetText(_("Website")); - coldata.SetWidth(288); - ListCtrl->InsertColumn(0, coldata); - - coldata.SetId(1); - coldata.SetText(_("Pri.")); - coldata.SetWidth(32); - ListCtrl->InsertColumn(1, coldata); - - } else if (ColumnType == CE_TITLE){ - - coldata.SetId(0); - coldata.SetText(_("Title")); - coldata.SetWidth(288); - ListCtrl->InsertColumn(0, coldata); - - coldata.SetId(1); - coldata.SetText(_("Pri.")); - coldata.SetWidth(32); - ListCtrl->InsertColumn(1, coldata); - - } else if (ColumnType == CE_ROLE){ - - coldata.SetId(0); - coldata.SetText(_("Role")); - coldata.SetWidth(288); - ListCtrl->InsertColumn(0, coldata); - - coldata.SetId(1); - coldata.SetText(_("Pri.")); - coldata.SetWidth(32); - ListCtrl->InsertColumn(1, coldata); - - } else if (ColumnType == CE_ORG){ - - coldata.SetId(0); - coldata.SetText(_("Organisation")); - coldata.SetWidth(288); - ListCtrl->InsertColumn(0, coldata); - - coldata.SetId(1); - coldata.SetText(_("Pri.")); - coldata.SetWidth(32); - ListCtrl->InsertColumn(1, coldata); - - } else if (ColumnType == CE_NOTE){ - - coldata.SetId(0); - coldata.SetText(_("Notes")); - coldata.SetWidth(288); - ListCtrl->InsertColumn(0, coldata); - - coldata.SetId(1); - coldata.SetText(_("Pri.")); - coldata.SetWidth(32); - ListCtrl->InsertColumn(1, coldata); - - } else if (ColumnType == CE_CATEGORIES){ - - coldata.SetId(0); - coldata.SetText(_("Category")); - coldata.SetWidth(320); - ListCtrl->InsertColumn(0, coldata); - - coldata.SetId(1); - coldata.SetText(_("Pri.")); - coldata.SetWidth(32); - ListCtrl->InsertColumn(1, coldata); - - } else if (ColumnType == CE_GROUPS){ - - coldata.SetId(0); - coldata.SetText(_("Member")); - coldata.SetWidth(320); - ListCtrl->InsertColumn(0, coldata); - - } else if (ColumnType == CE_GEOPOSITION){ - - coldata.SetId(0); - coldata.SetText(_("Geoposition")); - coldata.SetWidth(320); - ListCtrl->InsertColumn(0, coldata); - - coldata.SetId(1); - coldata.SetText(_("Pri.")); - coldata.SetWidth(32); - ListCtrl->InsertColumn(1, coldata); - - } else if (ColumnType == CE_PICTURES){ - - coldata.SetId(0); - coldata.SetText(_("Pictures")); - coldata.SetWidth(128); - ListCtrl->InsertColumn(0, coldata); - - coldata.SetId(1); - coldata.SetText(_("Type")); - coldata.SetWidth(64); - ListCtrl->InsertColumn(1, coldata); - - coldata.SetId(2); - coldata.SetText(_("Pri.")); - coldata.SetWidth(32); - ListCtrl->InsertColumn(2, coldata); - - } else if (ColumnType == CE_SOUNDS){ - - coldata.SetId(0); - coldata.SetText(_("Sounds")); - coldata.SetWidth(128); - ListCtrl->InsertColumn(0, coldata); - - coldata.SetId(1); - coldata.SetText(_("Type")); - coldata.SetWidth(64); - ListCtrl->InsertColumn(1, coldata); - - coldata.SetId(2); - coldata.SetText(_("Pri.")); - coldata.SetWidth(32); - ListCtrl->InsertColumn(2, coldata); - - } else if (ColumnType == CE_CALENDAR){ - - coldata.SetId(0); - coldata.SetText(_("Calendar Address")); - coldata.SetWidth(224); - ListCtrl->InsertColumn(0, coldata); - - coldata.SetId(1); - coldata.SetText(_("Type")); - coldata.SetWidth(64); - ListCtrl->InsertColumn(1, coldata); - - coldata.SetId(2); - coldata.SetText(_("Pri.")); - coldata.SetWidth(32); - ListCtrl->InsertColumn(2, coldata); - - } else if (ColumnType == CE_KEY){ - - coldata.SetId(0); - coldata.SetText(_("Key information")); - coldata.SetWidth(224); - ListCtrl->InsertColumn(0, coldata); - - coldata.SetId(1); - coldata.SetText(_("Type")); - coldata.SetWidth(64); - ListCtrl->InsertColumn(1, coldata); - - coldata.SetId(2); - coldata.SetText(_("Pri.")); - coldata.SetWidth(32); - ListCtrl->InsertColumn(2, coldata); - - } else if (ColumnType == CE_TOKEN){ - - coldata.SetId(0); - coldata.SetText(_("Token")); - coldata.SetWidth(320); - ListCtrl->InsertColumn(0, coldata); - - } - +void frmContactEditor::SetupAccountData(bool UnsupportedAccount){ + + boolUnsupportedAccount = UnsupportedAccount; + } int frmContactEditor::GetLastInt(std::map *MapData){ - /* - int intResult = 0; + /* + int intResult = 0; - std::map::iterator iwxsit; + std::map::iterator iwxsit; - for( iwxsit=(*MapData).begin(); iwxsit != (*MapData).end(); iwxsit++){ - intResult = (*iwxsit).first; - } + for( iwxsit=(*MapData).begin(); iwxsit != (*MapData).end(); iwxsit++){ + intResult = (*iwxsit).first; + } - return intResult; - */ + return intResult; + */ - intValueSeek++; - return intValueSeek; + intValueSeek++; + return intValueSeek; } int frmContactEditor::GetLastInt(std::map *MapData){ - /* int intResult = 0; + /* int intResult = 0; - std::map::iterator iwxsit; + std::map::iterator iwxsit; - for( iwxsit=(*MapData).begin(); iwxsit != (*MapData).end(); iwxsit++){ - intResult = (*iwxsit).first; - }*/ + for( iwxsit=(*MapData).begin(); iwxsit != (*MapData).end(); iwxsit++){ + intResult = (*iwxsit).first; + }*/ - intValueSeek++; - return intValueSeek; + intValueSeek++; + return intValueSeek; } @@ -6614,242 +216,243 @@ bool frmContactEditor::GetSelectedItem(wxListCtrl *ListCtrlPtr, long *longSelected, int *intSelectedData){ - *longSelected = -1; - *intSelectedData = 0; + *longSelected = -1; + *intSelectedData = 0; - *longSelected = ListCtrlPtr->GetNextItem(*longSelected, - wxLIST_NEXT_ALL, - wxLIST_STATE_SELECTED); + *longSelected = ListCtrlPtr->GetNextItem(*longSelected, + wxLIST_NEXT_ALL, + wxLIST_STATE_SELECTED); - if (*longSelected == -1){ - return FALSE; - } - else { - return TRUE; - } + if (*longSelected == -1){ + return FALSE; + } + *intSelectedData = (int)ListCtrlPtr->GetItemData(*longSelected); + + return TRUE; + } void frmContactEditor::DeleteMapDataProcess(int IndexNum, std::map* MapData){ - MapData->erase(IndexNum); + MapData->erase(IndexNum); } void frmContactEditor::DeleteMapDataProcess(int IndexNum, std::map* MapData){ - MapData->erase(IndexNum); + MapData->erase(IndexNum); } void frmContactEditor::DeleteMapDataProcess(int IndexNum, std::map* MapData){ - MapData->erase(IndexNum); + MapData->erase(IndexNum); } void frmContactEditor::DeleteMapDataProcess(int IndexNum, std::map* MapData){ - MapData->erase(IndexNum); + MapData->erase(IndexNum); } void frmContactEditor::ProcessSaveDataProc( wxString PropName, std::map* MapData){ - int intIterVal = (*iterDataPtr)->first; + int intIterVal = (*iterDataPtr)->first; - std::map::iterator intIter; + std::map::iterator intIter; - intIter = MapData->find(intIterVal); + intIter = MapData->find(intIterVal); - int intPropValue; + int intPropValue; - if (intIter->first == intIterVal){ + if (intIter->first == intIterVal){ - intPropValue = intIter->second; + intPropValue = intIter->second; - if (intPropValue){ + if (intPropValue){ - if (*boolAdditionalPtr == TRUE){ + if (*boolAdditionalPtr == TRUE){ - strPropertyPtr->Append(wxT(";")); + strPropertyPtr->Append(wxT(";")); - } else { + } else { - *boolAdditionalPtr = TRUE; + *boolAdditionalPtr = TRUE; - } + } - strPropertyPtr->Append(PropName + wxT("=") + wxString::Format(wxT("%i"), intPropValue)); + strPropertyPtr->Append(PropName + wxT("=") + wxString::Format(wxT("%i"), intPropValue)); - *boolExtraPtr = TRUE; + *boolExtraPtr = TRUE; - } + } - } + } } void frmContactEditor::ProcessSaveDataProc( wxString PropName, std::map* MapData){ - int intIterVal; + int intIterVal; - intIterVal = (*iterDataPtr)->first; + intIterVal = (*iterDataPtr)->first; - std::map::iterator strIter; + std::map::iterator strIter; - strIter = MapData->find(intIterVal); + strIter = MapData->find(intIterVal); - if (strIter == MapData->end()){ + if (strIter == MapData->end()){ - return; + return; - } + } - wxString strPropValue; + wxString strPropValue; - if (strIter->first == intIterVal){ + if (strIter->first == intIterVal){ - strPropValue = strIter->second; + strPropValue = strIter->second; - if (!strPropValue.IsEmpty() && PropName.IsEmpty()){ + if (!strPropValue.IsEmpty() && PropName.IsEmpty()){ - strPropValue.Trim(); - strPropValue.Trim(); + strPropValue.Trim(); + strPropValue.Trim(); - if (*boolAdditionalPtr == TRUE){ + if (*boolAdditionalPtr == TRUE){ - strPropertyPtr->Append(wxT(";")); + strPropertyPtr->Append(wxT(";")); - } else { + } else { - *boolAdditionalPtr = TRUE; + *boolAdditionalPtr = TRUE; - } + } - strPropertyPtr->Append(strPropValue); + strPropertyPtr->Append(strPropValue); - *boolExtraPtr = TRUE; + *boolExtraPtr = TRUE; - return; + return; - } + } - if (!strPropValue.IsEmpty()){ + if (!strPropValue.IsEmpty()){ - strPropValue.Trim(); - strPropValue.Trim(); + strPropValue.Trim(); + strPropValue.Trim(); - if (*boolAdditionalPtr == TRUE){ + if (*boolAdditionalPtr == TRUE){ - strPropertyPtr->Append(wxT(";")); + strPropertyPtr->Append(wxT(";")); - } else { + } else { - *boolAdditionalPtr = TRUE; + *boolAdditionalPtr = TRUE; - } + } - // Look for semi-colon in property name and if there is then - // quote the value. + // Look for semi-colon in property name and if there is then + // quote the value. - if (PropName != wxT("TYPE")){ + if (PropName != wxT("TYPE")){ - EscapeString(&strPropValue, FALSE); + EscapeString(&strPropValue, FALSE); - } + } - if (strPropValue.find(wxT(";")) == wxNOT_FOUND && strPropValue.find(wxT(":")) == wxNOT_FOUND && - strPropValue.find(wxT(",")) == wxNOT_FOUND){ + if (strPropValue.find(wxT(";")) == wxNOT_FOUND && strPropValue.find(wxT(":")) == wxNOT_FOUND && + strPropValue.find(wxT(",")) == wxNOT_FOUND){ - strPropertyPtr->Append(PropName + wxT("=") + strPropValue); + strPropertyPtr->Append(PropName + wxT("=") + strPropValue); - } else { + } else { - strPropertyPtr->Append(PropName + wxT("=\"") + strPropValue + wxT("\"")); + strPropertyPtr->Append(PropName + wxT("=\"") + strPropValue + wxT("\"")); - } + } - *boolExtraPtr = TRUE; + *boolExtraPtr = TRUE; - } + } - } + } } void frmContactEditor::ProcessSaveDataStrProc( wxString PropName, std::map* MapData){ - int intIterVal = (*iterDataStringPtr)->first; + int intIterVal = (*iterDataStringPtr)->first; - //std::map::iterator strIter; + //std::map::iterator strIter; - std::map::iterator stdstrIter; + std::map::iterator stdstrIter; - stdstrIter = MapData->find(intIterVal); - - if (stdstrIter->first == intIterVal){ + stdstrIter = MapData->find(intIterVal); + + if (stdstrIter->first == intIterVal){ - wxString strPropValue(stdstrIter->second.c_str(), wxConvUTF8); + wxString strPropValue(stdstrIter->second.c_str(), wxConvUTF8); - if (!strPropValue.IsEmpty() && PropName.IsEmpty()){ + if (!strPropValue.IsEmpty() && PropName.IsEmpty()){ - strPropValue.Trim(); - strPropValue.Trim(); + strPropValue.Trim(); + strPropValue.Trim(); - if (*boolAdditionalPtr == TRUE){ + if (*boolAdditionalPtr == TRUE){ - strPropertyPtr->Append(wxT(";")); + strPropertyPtr->Append(wxT(";")); - } else { + } else { - *boolAdditionalPtr = TRUE; + *boolAdditionalPtr = TRUE; - } + } - strPropertyPtr->Append(strPropValue); + strPropertyPtr->Append(strPropValue); - *boolExtraPtr = TRUE; + *boolExtraPtr = TRUE; - return; + return; - } + } - if (!strPropValue.IsEmpty()){ + if (!strPropValue.IsEmpty()){ - strPropValue.Trim(); - strPropValue.Trim(); + strPropValue.Trim(); + strPropValue.Trim(); - if (*boolAdditionalPtr == TRUE){ + if (*boolAdditionalPtr == TRUE){ - strPropertyPtr->Append(wxT(";")); + strPropertyPtr->Append(wxT(";")); - } else { + } else { - *boolAdditionalPtr = TRUE; + *boolAdditionalPtr = TRUE; - } + } - // Look for semi-colon in property name and if there is then - // quote the value. + // Look for semi-colon in property name and if there is then + // quote the value. - if (PropName != wxT("TYPE")){ + if (PropName != wxT("TYPE")){ - EscapeString(&strPropValue, FALSE); + EscapeString(&strPropValue, FALSE); - } + } - if (strPropValue.find(wxT(";")) == wxNOT_FOUND && strPropValue.find(wxT(":")) == wxNOT_FOUND && - strPropValue.find(wxT(",")) == wxNOT_FOUND){ + if (strPropValue.find(wxT(";")) == wxNOT_FOUND && strPropValue.find(wxT(":")) == wxNOT_FOUND && + strPropValue.find(wxT(",")) == wxNOT_FOUND){ - strPropertyPtr->Append(PropName + wxT("=") + strPropValue); + strPropertyPtr->Append(PropName + wxT("=") + strPropValue); - } else { + } else { - strPropertyPtr->Append(PropName + wxT("=\"") + strPropValue + wxT("\"")); + strPropertyPtr->Append(PropName + wxT("=\"") + strPropValue + wxT("\"")); - } + } - *boolExtraPtr = TRUE; + *boolExtraPtr = TRUE; - } + } - } + } } @@ -6857,885 +460,224 @@ void frmContactEditor::ProcessSaveDataStrProc( wxString PropName, void frmContactEditor::ProcessSaveDataStrProc( wxString PropName, std::map* MapData){ - int intIterVal = (*iterDataStringPtr)->first; + int intIterVal = (*iterDataStringPtr)->first; - std::map::iterator intIter; + std::map::iterator intIter; - intIter = MapData->find(intIterVal); + intIter = MapData->find(intIterVal); - int intPropValue; + int intPropValue; - if (intIter->first == intIterVal){ + if (intIter->first == intIterVal){ - intPropValue = intIter->second; + intPropValue = intIter->second; - if (intPropValue){ + if (intPropValue){ - if (*boolAdditionalPtr == TRUE){ + if (*boolAdditionalPtr == TRUE){ - strPropertyPtr->Append(wxT(";")); + strPropertyPtr->Append(wxT(";")); - } else { + } else { - *boolAdditionalPtr = TRUE; + *boolAdditionalPtr = TRUE; - } + } - strPropertyPtr->Append(PropName + wxT("=") + wxString::Format(wxT("%i"), intPropValue)); + strPropertyPtr->Append(PropName + wxT("=") + wxString::Format(wxT("%i"), intPropValue)); - *boolExtraPtr = TRUE; + *boolExtraPtr = TRUE; - } + } - } + } } void frmContactEditor::ProcessSaveDataStrProc( wxString PropName, std::map* MapData){ - int intIterVal; - - intIterVal = (*iterDataStringPtr)->first; + int intIterVal; - std::map::iterator strIter; + intIterVal = (*iterDataStringPtr)->first; - strIter = MapData->find(intIterVal); + std::map::iterator strIter; - wxString strPropValue; + strIter = MapData->find(intIterVal); - if (strIter->first == intIterVal){ + if (strIter == MapData->end()){ + + // Ignore this section and return. + + return; + + } + + wxString strPropValue; + + if (strIter->first == intIterVal){ - strPropValue = strIter->second; + strPropValue = strIter->second; - if (!strPropValue.IsEmpty() && PropName.IsEmpty()){ + if (!strPropValue.IsEmpty() && PropName.IsEmpty()){ - strPropValue.Trim(); - strPropValue.Trim(); + strPropValue.Trim(); + strPropValue.Trim(); - if (*boolAdditionalPtr == TRUE){ + if (*boolAdditionalPtr == TRUE){ - strPropertyPtr->Append(wxT(";")); + strPropertyPtr->Append(wxT(";")); - } else { + } else { - *boolAdditionalPtr = TRUE; + *boolAdditionalPtr = TRUE; - } - - strPropertyPtr->Append(strPropValue); + } - *boolExtraPtr = TRUE; + strPropertyPtr->Append(strPropValue); - return; + *boolExtraPtr = TRUE; + + return; - } + } - if (!strPropValue.IsEmpty()){ + if (!strPropValue.IsEmpty()){ - strPropValue.Trim(); - strPropValue.Trim(); + strPropValue.Trim(); + strPropValue.Trim(); - if (*boolAdditionalPtr == TRUE){ + if (*boolAdditionalPtr == TRUE){ - strPropertyPtr->Append(wxT(";")); + strPropertyPtr->Append(wxT(";")); - } else { + } else { - *boolAdditionalPtr = TRUE; + *boolAdditionalPtr = TRUE; - } + } - // Look for semi-colon in property name and if there is then - // quote the value. + // Look for semi-colon in property name and if there is then + // quote the value. - if (PropName != wxT("TYPE")){ + if (PropName != wxT("TYPE")){ - EscapeString(&strPropValue, FALSE); + EscapeString(&strPropValue, FALSE); - } + } - if (strPropValue.find(wxT(";")) == wxNOT_FOUND && strPropValue.find(wxT(":")) == wxNOT_FOUND && - strPropValue.find(wxT(",")) == wxNOT_FOUND){ + if (strPropValue.find(wxT(";")) == wxNOT_FOUND && strPropValue.find(wxT(":")) == wxNOT_FOUND && + strPropValue.find(wxT(",")) == wxNOT_FOUND){ - strPropertyPtr->Append(PropName + wxT("=") + strPropValue); + strPropertyPtr->Append(PropName + wxT("=") + strPropValue); - } else { + } else { - strPropertyPtr->Append(PropName + wxT("=\"") + strPropValue + wxT("\"")); + strPropertyPtr->Append(PropName + wxT("=\"") + strPropValue + wxT("\"")); - } + } - *boolExtraPtr = TRUE; + *boolExtraPtr = TRUE; - } + } - } + } } void frmContactEditor::ProcessCaptureStringsProc(wxString *strCapture){ - CaptureString(strCapture, FALSE); + CaptureString(strCapture, FALSE); } void frmContactEditor::ResetSaveProcessData(){ - strValue.Clear(); - strValue2.Clear(); - strValue3.Clear(); + strValue.Clear(); + strValue2.Clear(); + strValue3.Clear(); - boolValue = FALSE; - boolValue2 = FALSE; - intValue2 = 0; - intValue = 0; + boolValue = FALSE; + boolValue2 = FALSE; + intValue2 = 0; + intValue = 0; } void frmContactEditor::SetupPointers(frmActivityMgr *ActMgr, wxETagProcessTimer *ETagProc, frmMain *MainPtrInc){ - ActMgrPtr = ActMgr; - ETagTmrPtr = ETagProc; - MainPtr = MainPtrInc; - -} - -void frmContactEditor::ClearContact(){ - - // Clear out the GUI and values. - - // Clear GUI. - - txtTitle->Clear(); - txtForename->Clear(); - txtSurname->Clear(); - txtOtherNames->Clear(); - txtSuffix->Clear(); - cmbDisplayAs->Clear(); - cmbDisplayAs->SetValue(wxT("")); - wxDateTime EmptyDate; - wxBitmap EmptyBitmap; - dapAnniversary->SetValue(EmptyDate); - dapBirthday->SetValue(EmptyDate); - txtBirthday->Clear(); - txtAnniversary->Clear(); - cmbGender->Select(0); - txtGenderDescription->Clear(); - - lboNicknames->DeleteAllItems(); - lboHomeNicknames->DeleteAllItems(); - lboBusinessNicknames->DeleteAllItems(); - - lboAddresses->DeleteAllItems(); - lboHomeAddresses->DeleteAllItems(); - lboBusinessAddresses->DeleteAllItems(); - - lboEmails->DeleteAllItems(); - lboHomeEmails->DeleteAllItems(); - lboBusinessEmail->DeleteAllItems(); - - lboIM->DeleteAllItems(); - lboHomeIM->DeleteAllItems(); - lboBusinessIM->DeleteAllItems(); - - lboTelephone->DeleteAllItems(); - lboHomeTelephone->DeleteAllItems(); - lboBusinessTelephone->DeleteAllItems(); - - lboLanguages->DeleteAllItems(); - lboHomeLanguages->DeleteAllItems(); - lboBusinessLanguages->DeleteAllItems(); - - lboTimezones->DeleteAllItems(); - lboHomeTimezones->DeleteAllItems(); - lboBusinessTimezones->DeleteAllItems(); - - lboGeoposition->DeleteAllItems(); - lboHomeGeoposition->DeleteAllItems(); - lboBusinessGeoposition->DeleteAllItems(); - - lboRelated->DeleteAllItems(); - - lboWebsites->DeleteAllItems(); - lboHomeWebsites->DeleteAllItems(); - lboBusinessWebsites->DeleteAllItems(); - - lboTitles->DeleteAllItems(); - lboHomeTitles->DeleteAllItems(); - lboBusinessTitles->DeleteAllItems(); - - lboRoles->DeleteAllItems(); - lboHomeRoles->DeleteAllItems(); - lboBusinessRoles->DeleteAllItems(); - - lboOrganisations->DeleteAllItems(); - lboHomeOrganisations->DeleteAllItems(); - lboBusinessOrganisations->DeleteAllItems(); - - lboNotes->DeleteAllItems(); - lboHomeNotes->DeleteAllItems(); - lboBusinessNotes->DeleteAllItems(); - - lboCategories->DeleteAllItems(); - - lboGroups->DeleteAllItems(); - - // Clear Picture - lboPictures->DeleteAllItems(); - imgPicture->SetBitmap(EmptyBitmap); - - // Clear Logo - lboLogos->DeleteAllItems(); - imgLogo->SetBitmap(EmptyBitmap); - - lboSounds->DeleteAllItems(); - - lboCalendarAddresses->DeleteAllItems(); - lboCalendarRequestAddress->DeleteAllItems(); - lboFreeBusyAddresses->DeleteAllItems(); - - lboKeys->DeleteAllItems(); - - lboVendorNamespace->DeleteAllItems(); - lboXToken->DeleteAllItems(); - - // Clear values out. - - 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;*/ - - FullNamesList.clear(); - FullNamesListType.clear(); - FullNamesListLanguage.clear(); - FullNamesListAltID.clear(); - FullNamesListPID.clear(); - FullNamesListTokens.clear(); - FullNamesListPref.clear(); - - GeneralNicknamesList.clear(); - GeneralNicknamesListType.clear(); - GeneralNicknamesListLanguage.clear(); - GeneralNicknamesListAltID.clear(); - GeneralNicknamesListPID.clear(); - GeneralNicknamesListTokens.clear(); - GeneralNicknamesListPref.clear(); - - GeneralAddressList.clear(); - GeneralAddressListTown.clear(); - GeneralAddressListCounty.clear(); - GeneralAddressListPostCode.clear(); - GeneralAddressListCountry.clear(); - GeneralAddressListLabel.clear(); - GeneralAddressListLang.clear(); - GeneralAddressListAltID.clear(); - GeneralAddressListPID.clear(); - GeneralAddressListTokens.clear(); - GeneralAddressListGeo.clear(); - GeneralAddressListTimezone.clear(); - GeneralAddressListType.clear(); - GeneralAddressListMediatype.clear(); - GeneralAddressListPref.clear(); - - GeneralEmailList.clear(); - GeneralEmailListAltID.clear(); - GeneralEmailListPID.clear(); - GeneralEmailListType.clear(); - GeneralEmailListTokens.clear(); - GeneralEmailListPref.clear(); - - GeneralIMList.clear(); - GeneralIMListAltID.clear(); - GeneralIMListPID.clear(); - GeneralIMListType.clear(); - GeneralIMListTokens.clear(); - GeneralIMListMediatype.clear(); - GeneralIMListPref.clear(); - - GeneralTelephoneList.clear(); - GeneralTelephoneListAltID.clear(); - GeneralTelephoneListPID.clear(); - GeneralTelephoneListType.clear(); - GeneralTelephoneListTokens.clear(); - GeneralTelephoneListPref.clear(); - - GeneralLanguageList.clear(); - GeneralLanguageListAltID.clear(); - GeneralLanguageListPID.clear(); - GeneralLanguageListType.clear(); - GeneralLanguageListTokens.clear(); - GeneralLanguageListPref.clear(); - - GeneralTZList.clear(); - GeneralTZListAltID.clear(); - GeneralTZListPID.clear(); - GeneralTZListType.clear(); - GeneralTZListTokens.clear(); - GeneralTZListMediatype.clear(); - GeneralTZListPref.clear(); - - GeneralGeographyList.clear(); - GeneralGeographyListAltID.clear(); - GeneralGeographyListPID.clear(); - GeneralGeographyListType.clear(); - GeneralGeographyListTokens.clear(); - GeneralGeographyListMediatype.clear(); - GeneralGeographyListPref.clear(); - - GeneralRelatedList.clear(); - GeneralRelatedListRelType.clear(); - GeneralRelatedListLanguage.clear(); - GeneralRelatedListAltID.clear(); - GeneralRelatedListPID.clear(); - GeneralRelatedListType.clear(); - GeneralRelatedListTokens.clear(); - GeneralRelatedListPref.clear(); - - GeneralWebsiteList.clear(); - GeneralWebsiteListAltID.clear(); - GeneralWebsiteListPID.clear(); - GeneralWebsiteListType.clear(); - GeneralWebsiteListTokens.clear(); - GeneralWebsiteListMediatype.clear(); - GeneralWebsiteListPref.clear(); - - GeneralTitleList.clear(); - GeneralTitleListLanguage.clear(); - GeneralTitleListAltID.clear(); - GeneralTitleListPID.clear(); - GeneralTitleListType.clear(); - GeneralTitleListTokens.clear(); - GeneralTitleListPref.clear(); - - GeneralRoleList.clear(); - GeneralRoleListLanguage.clear(); - GeneralRoleListAltID.clear(); - GeneralRoleListPID.clear(); - GeneralRoleListType.clear(); - GeneralRoleListTokens.clear(); - GeneralRoleListPref.clear(); - - GeneralOrganisationsList.clear(); - GeneralOrganisationsListLanguage.clear(); - GeneralOrganisationsListAltID.clear(); - GeneralOrganisationsListPID.clear(); - GeneralOrganisationsListType.clear(); - GeneralOrganisationsListTokens.clear(); - GeneralOrganisationsListSortAs.clear(); - GeneralOrganisationsListPref.clear(); - - GeneralNoteList.clear(); - GeneralNoteListLanguage.clear(); - GeneralNoteListAltID.clear(); - GeneralNoteListPID.clear(); - GeneralNoteListType.clear(); - GeneralNoteListTokens.clear(); - GeneralNoteListPref.clear(); - - /* Items on Home Tab */ - - HomeNicknamesList.clear(); - HomeNicknamesListType.clear(); - HomeNicknamesListLanguage.clear(); - HomeNicknamesListAltID.clear(); - HomeNicknamesListPID.clear(); - HomeNicknamesListTokens.clear(); - HomeNicknamesListPref.clear(); - - HomeAddressList.clear(); - HomeAddressListTown.clear(); - HomeAddressListCounty.clear(); - HomeAddressListPostCode.clear(); - HomeAddressListCountry.clear(); - HomeAddressListLabel.clear(); - HomeAddressListLang.clear(); - HomeAddressListAltID.clear(); - HomeAddressListPID.clear(); - HomeAddressListTokens.clear(); - HomeAddressListGeo.clear(); - HomeAddressListTimezone.clear(); - HomeAddressListType.clear(); - HomeAddressListMediatype.clear(); - HomeAddressListPref.clear(); - - HomeEmailList.clear(); - HomeEmailListAltID.clear(); - HomeEmailListPID.clear(); - HomeEmailListType.clear(); - HomeEmailListTokens.clear(); - HomeEmailListPref.clear(); - - HomeIMList.clear(); - HomeIMListAltID.clear(); - HomeIMListPID.clear(); - HomeIMListType.clear(); - HomeIMListTokens.clear(); - HomeIMListMediatype.clear(); - HomeIMListPref.clear(); - - HomeTelephoneList.clear(); - HomeTelephoneListAltID.clear(); - HomeTelephoneListPID.clear(); - HomeTelephoneListType.clear(); - HomeTelephoneListTokens.clear(); - HomeTelephoneListPref.clear(); - - HomeLanguageList.clear(); - HomeLanguageListAltID.clear(); - HomeLanguageListPID.clear(); - HomeLanguageListType.clear(); - HomeLanguageListTokens.clear(); - HomeLanguageListPref.clear(); - - HomeTZList.clear(); - HomeTZListAltID.clear(); - HomeTZListPID.clear(); - HomeTZListType.clear(); - HomeTZListTokens.clear(); - HomeTZListMediatype.clear(); - HomeTZListPref.clear(); - - HomeGeographyList.clear(); - HomeGeographyListAltID.clear(); - HomeGeographyListPID.clear(); - HomeGeographyListType.clear(); - HomeGeographyListTokens.clear(); - HomeGeographyListMediatype.clear(); - HomeGeographyListPref.clear(); - - HomeRelatedList.clear(); - HomeRelatedListRelType.clear(); - HomeRelatedListLanguage.clear(); - HomeRelatedListAltID.clear(); - HomeRelatedListPID.clear(); - HomeRelatedListType.clear(); - HomeRelatedListTokens.clear(); - HomeRelatedListPref.clear(); - - HomeWebsiteList.clear(); - HomeWebsiteListAltID.clear(); - HomeWebsiteListPID.clear(); - HomeWebsiteListType.clear(); - HomeWebsiteListTokens.clear(); - HomeWebsiteListMediatype.clear(); - HomeWebsiteListPref.clear(); - - HomeTitleList.clear(); - HomeTitleListLanguage.clear(); - HomeTitleListAltID.clear(); - HomeTitleListPID.clear(); - HomeTitleListType.clear(); - HomeTitleListTokens.clear(); - HomeTitleListPref.clear(); - - HomeRoleList.clear(); - HomeRoleListLanguage.clear(); - HomeRoleListAltID.clear(); - HomeRoleListPID.clear(); - HomeRoleListType.clear(); - HomeRoleListTokens.clear(); - HomeRoleListPref.clear(); - - HomeOrganisationsList.clear(); - HomeOrganisationsListLanguage.clear(); - HomeOrganisationsListAltID.clear(); - HomeOrganisationsListPID.clear(); - HomeOrganisationsListType.clear(); - HomeOrganisationsListTokens.clear(); - HomeOrganisationsListSortAs.clear(); - HomeOrganisationsListPref.clear(); - - HomeNoteList.clear(); - HomeNoteListLanguage.clear(); - HomeNoteListAltID.clear(); - HomeNoteListPID.clear(); - HomeNoteListType.clear(); - HomeNoteListTokens.clear(); - HomeNoteListPref.clear(); - - /* Items on the Business tab */ - - BusinessNicknamesList.clear(); - BusinessNicknamesListType.clear(); - BusinessNicknamesListLanguage.clear(); - BusinessNicknamesListAltID.clear(); - BusinessNicknamesListPID.clear(); - BusinessNicknamesListTokens.clear(); - BusinessNicknamesListPref.clear(); - - BusinessAddressList.clear(); - BusinessAddressListTown.clear(); - BusinessAddressListCounty.clear(); - BusinessAddressListPostCode.clear(); - BusinessAddressListCountry.clear(); - BusinessAddressListLabel.clear(); - BusinessAddressListLang.clear(); - BusinessAddressListAltID.clear(); - BusinessAddressListPID.clear(); - BusinessAddressListTokens.clear(); - BusinessAddressListGeo.clear(); - BusinessAddressListTimezone.clear(); - BusinessAddressListType.clear(); - BusinessAddressListMediatype.clear(); - BusinessAddressListPref.clear(); - - BusinessEmailList.clear(); - BusinessEmailListAltID.clear(); - BusinessEmailListPID.clear(); - BusinessEmailListType.clear(); - BusinessEmailListTokens.clear(); - BusinessEmailListPref.clear(); - - BusinessIMList.clear(); - BusinessIMListAltID.clear(); - BusinessIMListPID.clear(); - BusinessIMListType.clear(); - BusinessIMListTokens.clear(); - BusinessIMListMediatype.clear(); - BusinessIMListPref.clear(); - - BusinessTelephoneList.clear(); - BusinessTelephoneListAltID.clear(); - BusinessTelephoneListPID.clear(); - BusinessTelephoneListType.clear(); - BusinessTelephoneListTokens.clear(); - BusinessTelephoneListPref.clear(); - - BusinessLanguageList.clear(); - BusinessLanguageListAltID.clear(); - BusinessLanguageListPID.clear(); - BusinessLanguageListType.clear(); - BusinessLanguageListTokens.clear(); - BusinessLanguageListPref.clear(); - - BusinessTZList.clear(); - BusinessTZListAltID.clear(); - BusinessTZListPID.clear(); - BusinessTZListType.clear(); - BusinessTZListTokens.clear(); - BusinessTZListMediatype.clear(); - BusinessTZListPref.clear(); - - BusinessGeographyList.clear(); - BusinessGeographyListAltID.clear(); - BusinessGeographyListPID.clear(); - BusinessGeographyListType.clear(); - BusinessGeographyListTokens.clear(); - BusinessGeographyListMediatype.clear(); - BusinessGeographyListPref.clear(); - - BusinessRelatedList.clear(); - BusinessRelatedListRelType.clear(); - BusinessRelatedListLanguage.clear(); - BusinessRelatedListAltID.clear(); - BusinessRelatedListPID.clear(); - BusinessRelatedListType.clear(); - BusinessRelatedListTokens.clear(); - BusinessRelatedListPref.clear(); - - BusinessWebsiteList.clear(); - BusinessWebsiteListAltID.clear(); - BusinessWebsiteListPID.clear(); - BusinessWebsiteListType.clear(); - BusinessWebsiteListTokens.clear(); - BusinessWebsiteListMediatype.clear(); - BusinessWebsiteListPref.clear(); - - BusinessTitleList.clear(); - BusinessTitleListLanguage.clear(); - BusinessTitleListAltID.clear(); - BusinessTitleListPID.clear(); - BusinessTitleListType.clear(); - BusinessTitleListTokens.clear(); - BusinessTitleListPref.clear(); - - BusinessRoleList.clear(); - BusinessRoleListLanguage.clear(); - BusinessRoleListAltID.clear(); - BusinessRoleListPID.clear(); - BusinessRoleListType.clear(); - BusinessRoleListTokens.clear(); - BusinessRoleListPref.clear(); - - BusinessOrganisationsList.clear(); - BusinessOrganisationsListLanguage.clear(); - BusinessOrganisationsListAltID.clear(); - BusinessOrganisationsListPID.clear(); - BusinessOrganisationsListType.clear(); - BusinessOrganisationsListTokens.clear(); - BusinessOrganisationsListSortAs.clear(); - BusinessOrganisationsListPref.clear(); - - BusinessNoteList.clear(); - BusinessNoteListLanguage.clear(); - BusinessNoteListAltID.clear(); - BusinessNoteListPID.clear(); - BusinessNoteListType.clear(); - BusinessNoteListTokens.clear(); - BusinessNoteListPref.clear(); - - /* Items on the Categories tab */ - - CategoriesList.clear(); - CategoriesListAltID.clear(); - CategoriesListPID.clear(); - CategoriesListType.clear(); - CategoriesListTokens.clear(); - CategoriesListPref.clear(); - - /* Items on the Groups tab */ - - GroupsList.clear(); - GroupsListAltID.clear(); - GroupsListPID.clear(); - GroupsListType.clear(); - GroupsListTokens.clear(); - GroupsListPref.clear(); - - /* Items on the Pictures tab */ - - PicturesList.clear(); - PicturesListAltID.clear(); - PicturesListPID.clear(); - PicturesListType.clear(); - PicturesListPicEncType.clear(); - PicturesListPictureType.clear(); - PicturesListTokens.clear(); - PicturesListMediatype.clear(); - PicturesListPref.clear(); - - /* Items on the Logos tab */ - - LogosList.clear(); - LogosListAltID.clear(); - LogosListPID.clear(); - LogosListType.clear(); - LogosListPicEncType.clear(); - LogosListPictureType.clear(); - LogosListTokens.clear(); - LogosListMediatype.clear(); - LogosListPref.clear(); - - /* Items on the Sounds tab */ - - SoundsList.clear(); - SoundsListAltID.clear(); - SoundsListPID.clear(); - SoundsListType.clear(); - SoundsListAudioEncType.clear(); - SoundsListAudioType.clear(); - SoundsListTokens.clear(); - SoundsListMediatype.clear(); - SoundsListPref.clear(); - - /* Items on the Calendaring tab */ - - CalendarList.clear(); - CalendarListAltID.clear(); - CalendarListPID.clear(); - CalendarListType.clear(); - CalendarListTokens.clear(); - CalendarListMediatype.clear(); - CalendarListPref.clear(); - - CalendarRequestList.clear(); - CalendarRequestListAltID.clear(); - CalendarRequestListPID.clear(); - CalendarRequestListType.clear(); - CalendarRequestListTokens.clear(); - CalendarRequestListMediatype.clear(); - CalendarRequestListPref.clear(); - - FreeBusyList.clear(); - FreeBusyListAltID.clear(); - FreeBusyListPID.clear(); - FreeBusyListType.clear(); - FreeBusyListTokens.clear(); - FreeBusyListMediatype.clear(); - FreeBusyListPref.clear(); - - /* Items on the Security tab */ - - KeyList.clear(); - KeyListAltID.clear(); - KeyListPID.clear(); - KeyListKeyType.clear(); - KeyListDataType.clear(); - KeyListDataEncType.clear(); - KeyListType.clear(); - KeyListTokens.clear(); - KeyListPref.clear(); - - /* Items on the Other tab */ - - VendorList.clear(); - VendorListPEN.clear(); - VendorListElement.clear(); - - XTokenList.clear(); - XTokenListTokens.clear(); - - wxSContactFilename.Clear(); - boolContactModified = FALSE; - intSeekSelectedData = 0; - - /* Section for saving/loading data */ - - ETag.Clear(); - ETagOriginal.Clear(); - - strValue.Clear(); - strValue2.Clear(); - strValue3.Clear(); - - boolValue = FALSE; - boolValue2 = FALSE; - intValue = 0; - intValue2 = 0; - intValue3 = 0; - BinaryDataProc = FALSE; - EditMode = TRUE; - DialogOpen = FALSE; - - PictureImage = wxNullBitmap; - LogoImage = wxNullBitmap; + ActMgrPtr = ActMgr; + ETagTmrPtr = ETagProc; + MainPtr = MainPtrInc; } void frmContactEditor::ContactFileChanged( wxCommandEvent &event ){ - // Stop the timer. + // Stop the timer. - FMTimer.Stop(); + FMTimer.Stop(); - // Check if a dialog is already open. + // Check if a dialog is already open. - if (DialogOpen == TRUE){ + if (DialogOpen == TRUE){ - FMTimer.Start(1000, FALSE); - return; + FMTimer.Start(1000, FALSE); + return; - } + } - // Bring up a Yes/No modal dialog asking if the changed file should be reloaded. + // Bring up a Yes/No modal dialog asking if the changed file should be reloaded. - int QuestionResponse; + int QuestionResponse; - QuestionResponse = wxMessageBox(_("This contact has changed. Saving the contact may overwrite or lose any changes done by that change. Do you want to reload the contact with the changes made?"), _("Contact information has changed"), wxYES_NO, this); + QuestionResponse = wxMessageBox(_("This contact has changed. Saving the contact may overwrite or lose any changes done by that change. Do you want to reload the contact with the changes made?"), _("Contact information has changed"), wxYES_NO, this); - if (QuestionResponse == wxYES){ + if (QuestionResponse == wxYES){ - // Reload the contact. - wxString wxSReloadContactName = wxSContactFilename; - ClearContact(); - LoadContact(wxSReloadContactName); + // Reload the contact. + wxString wxSReloadContactName = wxSContactFilename; + ClearContact(); + LoadContact(wxSReloadContactName); - } else { + } else { - // Do nothing other than update the timestamp so this message - // doesn't appear until the next time it changes. + // Do nothing other than update the timestamp so this message + // doesn't appear until the next time it changes. - FMTimer.UpdateTimestamp(); + FMTimer.UpdateTimestamp(); - } + } - // Start the timer. + // Start the timer. - FMTimer.Start(); + FMTimer.Start(); } void frmContactEditor::UpdateMembersTab( wxCommandEvent &event ){ - if (cmbType->GetCurrentSelection() == 2){ + if (cmbType->GetCurrentSelection() == 2){ - tabMembers->Show(); + tabMembers->Show(); - } else { + } else { - tabMembers->Hide(); + tabMembers->Hide(); - } + } } void frmContactEditor::SetUID(int UID){ - ContactEditorUID = UID; + ContactEditorUID = UID; } -void frmContactEditor::UpdateDisplayAs( wxCommandEvent &event ){ - - // Generate a drop down list of common names to use for the display as drop down box. - - wxString SetValue = cmbDisplayAs->GetValue(); - - cmbDisplayAs->Clear(); - cmbDisplayAs->Append(txtForename->GetValue() + wxT(" ") + txtSurname->GetValue()); - if (!txtOtherNames->GetValue().IsEmpty()){ - - cmbDisplayAs->Append(txtForename->GetValue() + wxT(" ") + txtOtherNames->GetValue() + wxT(" ") + txtForename->GetValue()); - - } - cmbDisplayAs->Append(txtSurname->GetValue() + wxT(", ") + txtForename->GetValue()); - if (!txtOtherNames->GetValue().IsEmpty()){ - - cmbDisplayAs->Append(txtForename->GetValue() + wxT(", ") + wxT(" ") + txtForename->GetValue() + wxT(" ") + txtOtherNames->GetValue()); - - } - if (!txtTitle->GetValue().IsEmpty()){ - cmbDisplayAs->Append(txtTitle->GetValue() + wxT(" ") + txtSurname->GetValue() + wxT(" ") + txtForename->GetValue()); - } - - cmbDisplayAs->SetValue(SetValue); - - this->SetTitle(cmbDisplayAs->GetValue()); - -} +void frmContactEditor::SetMode(bool StartupEditModeIn){ + + StartupEditMode = StartupEditModeIn; -void frmContactEditor::UpdateName( wxCommandEvent &event ){ - - this->SetTitle(cmbDisplayAs->GetValue()); - - WindowData *WData = new WindowData; - - WData->DataType = 1; - WData->WindowPointer = this; - WData->WindowID = ContactEditorUID; - - wxCommandEvent editevent(WINDOW_EDIT); - editevent.SetClientData(WData); - wxPostEvent(GetParent(), editevent); - } \ No newline at end of file