void frmContact::CloseWindow( wxCommandEvent& event ){
+ // Close this window.
+
this->Close();
}
wxFileSystem::AddHandler(new wxMemoryFSHandler);
- if (MemoryFSListPtr->find(SessionID) == MemoryFSListPtr->end()){
+ // Check if frmContact is the main window, if not
+ // then do some clear up.
+
+ if (StartupMode == false){
+
+ if (MemoryFSListPtr->find(SessionID) == MemoryFSListPtr->end()){
- } else {
+ } else {
- std::map<wxString, wxString>::iterator striter;
+ std::map<wxString, wxString>::iterator striter;
- for (striter = MemoryFSListPtr->begin(); striter != MemoryFSListPtr->end(); striter++){
+ for (striter = MemoryFSListPtr->begin(); striter != MemoryFSListPtr->end(); striter++){
- if (SessionID == striter->second){
+ if (SessionID == striter->second){
- // Delete the references from the wxMemoryFSHandler
- // and the entry from the map.
+ // Delete the references from the wxMemoryFSHandler
+ // and the entry from the map.
- wxMemoryFSHandler::RemoveFile(striter->first);
+ wxMemoryFSHandler::RemoveFile(striter->first);
- break;
+ break;
- }
+ }
- }
+ }
- MemoryFSListPtr->erase(striter);
+ MemoryFSListPtr->erase(striter);
- }
+ }
- WindowData *WData = new WindowData;
+ WindowData *WData = new WindowData;
- WData->DataType = 0;
- WData->WindowPointer = this;
- WData->WindowID = ContactUID;
+ WData->DataType = 0;
+ WData->WindowPointer = this;
+ WData->WindowID = ContactUID;
- wxCommandEvent delevent(WINDOW_CLOSE);
- delevent.SetClientData(WData);
- wxPostEvent(GetParent(), delevent);
+ wxCommandEvent delevent(WINDOW_CLOSE);
+ delevent.SetClientData(WData);
+ wxPostEvent(GetParent(), delevent);
+ }
+
Destroy();
}
-
-
bool frmContact::SetupContactData(vCard *vCardObj){
+ // Setup the contact information.
+
wxFileSystem::AddHandler(new wxMemoryFSHandler);
for (std::map<wxString, wxString>::iterator striter = MemoryFSListPtr->begin();
OldSessionID = SessionID;
SessionID = wxString::Format(wxT("%i"), rand() % 32768);
- LoadContactData(vCardObj, htmContactData, SessionID, OldSessionID, MemoryFSListPtr);
- SetTitle(vCardObj->Get(wxT("FN")));
-
- WindowData *WData = new WindowData;
-
- vCardFilename = vCardObj->GetFilename();
+ wxColour formattedBackgroundColour;
+ if (backgroundColour.IsEmpty())
+ {
+
+ formattedBackgroundColour = wxTransparentColour;
+
+ }
+ else
+ {
+
+ formattedBackgroundColour.Set(backgroundColour);
+
+ }
+
+
+ LoadContactData(vCardObj, htmContactData, SessionID, OldSessionID, MemoryFSListPtr, formattedBackgroundColour);
+ ArrayvCardOutData FNList;
+ FNList = vCardObj->GetByPartial(wxT("FN"));
+
+ if (FNList.PropCount > 0){
+ FNList.PropValues[0].Trim();
+ SetTitle(FNList.PropValues[0]);
+ }
+
+ if (StartupMode == false){
+
+ WindowData *WData = new WindowData;
- WData->DataType = 0;
- WData->WindowPointer = this;
- WData->WindowID = ContactUID;
+ vCardFilename = vCardObj->GetFilename();
- wxCommandEvent editevent(WINDOW_EDIT);
- editevent.SetClientData(WData);
- wxPostEvent(GetParent(), editevent);
+ WData->DataType = 0;
+ WData->WindowPointer = this;
+ WData->WindowID = ContactUID;
+
+ wxCommandEvent editevent(WINDOW_EDIT);
+ editevent.SetClientData(WData);
+ wxPostEvent(GetParent(), editevent);
+
+ }
return TRUE;
}
void frmContact::SetMode(bool StartupModeIn){
+ // Set the mode which frmContact will be operating.
+
StartupMode = StartupModeIn;
}
void frmContact::SetupPointers(std::map<wxString,wxString> *MemoryFSListIncPtr){
+ // Set the pointer for the Memory Filesystem map.
+
MemoryFSListPtr = MemoryFSListIncPtr;
}
void frmContact::SetUID(int UID){
+ // Set the UID of the contact window.
+
ContactUID = UID;
}
wxString frmContact::GetFilename(){
+ // Get the filename of the contact being displayed.
+
return vCardFilename;
+}
+
+void frmContact::SetBackgroundColour(wxString backgroundColour){
+
+ // Set the background colour.
+
+ this->backgroundColour = backgroundColour;
+
}
\ No newline at end of file