X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;ds=inline;f=source%2Fcontacteditor%2FfrmContactEditor.h;h=7ea64616278510907acf2470ff8dd46df523b3f3;hb=c0ccb2e66d28c063f7d312d89b1591d2be650c34;hp=f4dccc083b91be78497b557eaae1b8afe90a2e0c;hpb=45729fca56479bd9158486e0cda0c4a94b4dd1dc;p=xestiaab%2F.git
diff --git a/source/contacteditor/frmContactEditor.h b/source/contacteditor/frmContactEditor.h
index f4dccc0..7ea6461 100644
--- a/source/contacteditor/frmContactEditor.h
+++ b/source/contacteditor/frmContactEditor.h
@@ -1,3 +1,21 @@
+// frmContactEditor.h - frmContactEditor form header.
+//
+// (c) 2012-2015 Xestia Software Development.
+//
+// This file is part of Xestia Address Book.
+//
+// Xestia Address Book is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by the
+// Free Software Foundation, version 3 of the license.
+//
+// Xestia Address Book is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with Xestia Address Book. If not, see
+
#ifndef __frmContactEditor__
#define __frmContactEditor__
@@ -19,9 +37,33 @@ Subclass of frmContactEditorADT, which is generated by wxFormBuilder.
#include "../common/etag.h"
#include "../common/timers.h"
-#include "../frmActivityMgr.h"
+#include "../actmgr/frmActivityMgr.h"
#include "../frmMain.h"
+#include "cdo/ContactDataObject.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")
+
//// end generated include
struct frmMain;
@@ -44,63 +86,6 @@ public:
void OnMusicEnd() { }
bool GetPlayingStatus(){ return FilePlaying; }
-
-/*
- void load(const sf::SoundBuffer& buffer)
- {
- // extract the audio samples from the sound buffer to our own container
- m_samples.assign(buffer.getSamples(), buffer.getSamples() + buffer.getSampleCount());
-
- // reset the current playing position
- m_currentSample = 0;
-
- // initialize the base class
- initialize(buffer.getChannelCount(), buffer.getSampleRate());
- }
-
- bool GetPlayingStatus(){ return FilePlaying; }
-
-private:
-
- virtual bool onGetData(Chunk& data)
- {
- // number of samples to stream every time the function is called;
- // in a more robust implementation, it would rather be a fixed
- // amount of time rather than an arbitrary number of samples
- const int samplesToStream = 50000;
-
- // set the pointer to the next audio samples to be played
- data.samples = &m_samples[m_currentSample];
-
- // have we reached the end of the sound?
- if (m_currentSample + samplesToStream <= m_samples.size())
- {
- // end not reached: stream the samples and continue
- data.sampleCount = samplesToStream;
- m_currentSample += samplesToStream;
- FilePlaying = TRUE;
- return true;
- }
- else
- {
- // end of stream reached: stream the remaining samples and stop playback
- data.sampleCount = m_samples.size() - m_currentSample;
- m_currentSample = m_samples.size();
- FilePlaying = FALSE;
- return false;
- }
- }
-
- virtual void onSeek(sf::Time TimeOffset)
- {
- // compute the corresponding sample index according to the sample rate and channel count
- m_currentSample = static_cast(TimeOffset.asSeconds() * getSampleRate() * getChannelCount());
- }
-
- std::vector m_samples;
- std::size_t m_currentSample;
-
- */
bool FilePlaying = TRUE;
};
@@ -271,13 +256,16 @@ class frmContactEditor : public frmContactEditorADT
void ModifyPicture( wxCommandEvent& event );
void DeletePicture( wxCommandEvent& event );
void LoadPicture( wxListEvent& event );
+ void SavePicture( wxCommandEvent& event);
void AddLogo( wxCommandEvent& event );
void ModifyLogo( wxCommandEvent& event );
void DeleteLogo( wxCommandEvent& event );
- void LoadLogo( wxListEvent& event );
+ void LoadLogo( wxListEvent& event );
+ void SaveLogo( wxCommandEvent& event);
void AddSound( wxCommandEvent& event );
void ModifySound( wxCommandEvent& event );
void DeleteSound( wxCommandEvent& event );
+ void SaveSound( wxCommandEvent& event);
void PlaySoundDetach();
void PlaySound( wxCommandEvent& event );
void StopSound( wxCommandEvent& event );
@@ -328,6 +316,7 @@ class frmContactEditor : public frmContactEditorADT
void SetupPointers(frmActivityMgr *ActMgr, wxETagProcessTimer *ETagProc,
frmMain *MainPtrInc);
bool LoadContact(wxString Filename);
+ void SetMode(bool StartupEditMode);
void SetUID(int UID);
private:
@@ -614,12 +603,54 @@ class frmContactEditor : public frmContactEditorADT
void ResetSaveProcessData();
void ContactFileChanged( wxCommandEvent &event );
void ClearContact();
+
+ /* Functions for loading contacts */
+ void LoadKind(wxString KindType);
+ void LoadMember(wxString MemberData, int *GroupCount);
+ void LoadFN(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *FNCount,
+ bool *FNProcessed, vCard *ContactData);
+ void LoadN(wxString wxSPropertySeg1, wxString wxSPropertySeg2, bool *NameProcessed,
+ vCard *ContactData);
+ void LoadNickname(wxString wxSpropertySeg1, wxString wxSPropertySeg2,
+ int *NicknameCount, vCard *ContactData);
+ void LoadGender(wxString wxSPropertySeg1, wxString wxSPropertySeg2, bool *GenderProcessed,
+ vCard *ContactData);
+ void LoadBDay(wxString wxSPropertySeg1, wxString wxSPropertySeg2, bool *BirthdayProcessed);
+ void LoadAnniversary(wxString wxSPropertySeg1, wxString wxSPropertySeg2, bool *AnniversaryProcessed);
+ void LoadTimeZone(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *TZCount);
+ void LoadADR(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *ADRCount);
+ void LoadEmail(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *ADRCount);
+ void LoadIM(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *IMPPCount);
+ void LoadTelephone(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *TelCount);
+ void LoadLanguage(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *LangCount);
+ void LoadGeo(wxString wxSProptertySeg1, wxString wxSPropertySeg2, int *GeoCount);
+ void LoadRelated(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *RelatedCount);
+ void LoadURL(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *URLCount);
+ void LoadTitle(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *TitleCount);
+ void LoadRole(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *RoleCount);
+ void LoadOrg(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *OrgCount);
+ void LoadNote(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *NoteCount);
+ void LoadCategory(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *CategoryCount);
+ void LoadPhoto(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *PhotoCount);
+ void LoadLogo(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *PhotoCount);
+ void LoadSound(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *SoundCount);
+ void LoadCalURI(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *CalAdrCount);
+ void LoadCalAdrURI(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *CalReqAdrCount);
+ void LoadCalFreeBusy(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *FreeBusyCount);
+ void LoadKey(wxString wxSPropertySeg1, wxString wxSPropertySeg2, int *KeyCount);
+
+ void LoadGender(wxString *GenderComponent, wxString *GenderIdentity);
+ void LoadBirthday(wxString *BirthdayData, bool *BirthdayText);
+ void LoadAnniversary(wxString *AnniversaryData, bool *AnniversaryText);
+ void LoadKind(ContactKindType *KindType);
int intValueSeek = 1;
bool IsGroup = FALSE;
/* Items on General Tab */
+ ContactDataObject ContactEditorData;
+
wxString NameTitle;
wxString NameForename;
wxString NameSurname;
@@ -1153,6 +1184,7 @@ class frmContactEditor : public frmContactEditorADT
int intValue3 = 0;
bool BinaryDataProc = FALSE;
bool EditMode = FALSE;
+ bool StartupEditMode = FALSE;
bool DialogOpen = FALSE;
/*