"));
- PageData.append(wxT(""));
+ PageData.append(wxT(" | "));
PageData.append(wxT(""));
- PageData.append(vCardObj->Get(wxT("FN")));
+
+ if (FNList.PropCount > 0){
+ FNList.PropValues[0].Trim();
+ CaptureString(&FNList.PropValues[0], false);
+ PageData.append(FNList.PropValues[0]);
+ }
+
PageData.append(wxT(""));
PageData.append(wxT(" | "));
- PageData.append(wxT(""));
+ PageData.append(wxT(" | "));
// Define common variables for ADR.
@@ -162,28 +192,6 @@ void LoadContactData(vCard *vCardObj, wxHtmlWindow *HTMLObj, wxString SID,
ArrayvCardOutData ContactData = vCardObj->GetByPartial(wxT("PHOTO"));
if (ContactData.PropCount > 0){
-
- // Split the data.
-
-
-
- /*std::map SplitPts;
- std::map SplitLen;
- std::map SplitData;
- int intSize = 0;
-
- SplitPropertyData(&ContactData.PropData[0],
- &SplitPts,
- &SplitLen,
- 0,
- &SplitData);
-
- for (std::map::iterator striter = SplitData.begin();
- striter != SplitData.end(); striter++){
-
- raise(SIGABRT);
-
- }*/
// Look for the X-ABCROP-RECTANGLE.
@@ -233,9 +241,6 @@ void LoadContactData(vCard *vCardObj, wxHtmlWindow *HTMLObj, wxString SID,
PhotoRectData.GetNextToken();
- //PhotoRectPoints.SetX(wxAtoi(PhotoRectData.GetNextToken()));
- //PhotoRectPoints.SetY(wxAtoi(PhotoRectData.GetNextToken()) - 100);
-
int PointXBase = wxAtoi(PhotoRectData.GetNextToken());
int PointYBase = wxAtoi(PhotoRectData.GetNextToken());
int PointWBase = wxAtoi(PhotoRectData.GetNextToken());
@@ -265,23 +270,6 @@ void LoadContactData(vCard *vCardObj, wxHtmlWindow *HTMLObj, wxString SID,
} else {
}
-
- /*int PointX = PointXBase;
- int PointY = PointYBase;
- int PointW = PointWBase;
- int PointH = PointHBase;*/
-
- // Bottom Left Method
-
- /*int PointX = wxAtoi(PhotoRectData.GetNextToken());
- int PointY = photo.GetHeight() - wxAtoi(PhotoRectData.GetNextToken()) - 340;
- int PointW = wxAtoi(PhotoRectData.GetNextToken());
- int PointH = wxAtoi(PhotoRectData.GetNextToken());*/
-
- // Bottom Right Method
-
- /*int PointXRemain = photo.GetWidth() - PointX - 140;
- int PointYRemain = photo.GetHeight() - PointY - 140;*/
PhotoRectPoints.SetX(PointX);
PhotoRectPoints.SetY(PointY);
@@ -399,12 +387,13 @@ void LoadContactData(vCard *vCardObj, wxHtmlWindow *HTMLObj, wxString SID,
ContactData = vCardObj->GetByPartial(wxT("PHOTO"));
bool AddBreak = FALSE;
+ wxString TypePageData;
if (ContactData.PropCount > 1){
- PageData.append(wxT(""));
+ TypePageData.append(wxT(""));
AddBreak = TRUE;
}
@@ -413,9 +402,9 @@ void LoadContactData(vCard *vCardObj, wxHtmlWindow *HTMLObj, wxString SID,
if (ContactData.PropCount > 1){
- PageData.append(wxT(""));
+ TypePageData.append(wxT(""));
AddBreak = TRUE;
}
@@ -424,9 +413,9 @@ void LoadContactData(vCard *vCardObj, wxHtmlWindow *HTMLObj, wxString SID,
if (ContactData.PropCount >= 1){
- PageData.append(wxT(""));
+ TypePageData.append(wxT(""));
AddBreak = TRUE;
}
@@ -435,9 +424,9 @@ void LoadContactData(vCard *vCardObj, wxHtmlWindow *HTMLObj, wxString SID,
if (ContactData.PropCount >= 1){
- PageData.append(wxT(""));
+ TypePageData.append(wxT(""));
AddBreak = TRUE;
}
@@ -446,9 +435,9 @@ void LoadContactData(vCard *vCardObj, wxHtmlWindow *HTMLObj, wxString SID,
if (ContactData.PropCount >= 1){
- PageData.append(wxT(""));
+ TypePageData.append(wxT(""));
AddBreak = TRUE;
}
@@ -457,33 +446,38 @@ void LoadContactData(vCard *vCardObj, wxHtmlWindow *HTMLObj, wxString SID,
if (ContactData.PropCount >= 1){
- PageData.append(wxT(""));
+ TypePageData.append(wxT(""));
AddBreak = TRUE;
}
+ if (!TypePageData.IsEmpty()){
+
+ PageData.append("");
+ PageData.append(TypePageData);
+ PageData.append(" | ");
+
+ }
+
if (AddBreak == TRUE){
PageData.append(wxT("
"));
}
- bool MultiLogoIcon = FALSE;
- bool MultiPhotoIcon = FALSE;
- bool SoundIcon = FALSE;
- bool KeyIcon = FALSE;
- bool VendorIcon = FALSE;
- bool XTokenIcon = FALSE;
-
// Process Birthday
ContactData = vCardObj->GetByPartial(wxT("BDAY"));
DataDisplay = FALSE;
DataLines.clear();
-
+ wxDateTime DateFormat;
+ long MonthValue = 0;
+ long DayValue = 0;
+ long YearValue = 0;
+
if (ContactData.PropCount > 0){
wxString BDayLine;
@@ -495,10 +489,59 @@ void LoadContactData(vCard *vCardObj, wxHtmlWindow *HTMLObj, wxString SID,
BDayLine = ContactData.PropValues[i];
BDayLine.Trim();
- CaptureString(&BDayLine, FALSE);
- ConvertToHTML(&BDayLine);
+
+ if (BDayLine.Mid(0,4) == wxT("1604")){
+
+ BDayLine = BDayLine.Mid(4,4);
+
+ BDayLine.Mid(0,2).ToLong(&MonthValue);
+ BDayLine.Mid(2,2).ToLong(&DayValue);
+
+ MonthValue--;
+
+ DateFormat.Set((wxDateTime::wxDateTime_t)(int)DayValue, (wxDateTime::Month)(MonthValue), 0, 0, 0, 0, 0);
+
+ } else if (BDayLine.Mid(0,2) == wxT("--")){
+
+ BDayLine = BDayLine.Mid(2,4);
+
+ BDayLine.Mid(0,2).ToLong(&MonthValue);
+ BDayLine.Mid(2,2).ToLong(&DayValue);
+
+ MonthValue--;
+
+ DateFormat.Set((wxDateTime::wxDateTime_t)(int)DayValue, (wxDateTime::Month)(MonthValue), 0, 0, 0, 0, 0);
+
+ } else {
+
+
+ BDayLine.Mid(0,4).ToLong(&YearValue);
+ BDayLine.Mid(4,2).ToLong(&MonthValue);
+ BDayLine.Mid(6,2).ToLong(&DayValue);
+
+ MonthValue--;
+
+ DateFormat.Set((wxDateTime::wxDateTime_t)(int)DayValue, (wxDateTime::Month)(MonthValue), YearValue, 0, 0, 0, 0);
+
+ }
+
+ wxString BDayOutput;
+
+ BDayOutput.append(wxString::Format(wxT("%02i"), (int)DayValue));
+ BDayOutput.append(wxT("/"));
+ BDayOutput.append(wxString::Format(wxT("%02i"), (int)(MonthValue + 1)));
+
+ if (DateFormat.GetYear() != 0){
+
+ BDayOutput.append(wxT("/"));
+ BDayOutput.append(wxString::Format(wxT("%04i"), (int)YearValue));
+
+ }
+
+ CaptureString(&BDayOutput, FALSE);
+ ConvertToHTML(&BDayOutput);
- DataLines.append(BDayLine);
+ DataLines.append(BDayOutput);
break;
@@ -508,6 +551,8 @@ void LoadContactData(vCard *vCardObj, wxHtmlWindow *HTMLObj, wxString SID,
}
+ PageData.append("");
+
if (DataDisplay == TRUE){
DataLines.Trim();
@@ -535,12 +580,60 @@ void LoadContactData(vCard *vCardObj, wxHtmlWindow *HTMLObj, wxString SID,
// Grab the first anniversary only.
AnniLine = ContactData.PropValues[i];
-
AnniLine.Trim();
- CaptureString(&AnniLine, FALSE);
- ConvertToHTML(&AnniLine);
+
+ if (AnniLine.Mid(0,4) == wxT("1604")){
+
+ AnniLine = AnniLine.Mid(4,4);
+
+ AnniLine.Mid(0,2).ToLong(&MonthValue);
+ AnniLine.Mid(2,2).ToLong(&DayValue);
+
+ MonthValue--;
+
+ DateFormat.Set((wxDateTime::wxDateTime_t)(int)DayValue, (wxDateTime::Month)(MonthValue), 0, 0, 0, 0, 0);
+
+ } else if (AnniLine.Mid(0,2) == wxT("--")){
+
+ AnniLine = AnniLine.Mid(2,4);
+
+ AnniLine.Mid(0,2).ToLong(&MonthValue);
+ AnniLine.Mid(2,2).ToLong(&DayValue);
+
+ MonthValue--;
+
+ DateFormat.Set((wxDateTime::wxDateTime_t)(int)DayValue, (wxDateTime::Month)(MonthValue), 0, 0, 0, 0, 0);
+
+ } else {
+
+
+ AnniLine.Mid(0,4).ToLong(&YearValue);
+ AnniLine.Mid(4,2).ToLong(&MonthValue);
+ AnniLine.Mid(6,2).ToLong(&DayValue);
+
+ MonthValue--;
+
+ DateFormat.Set((wxDateTime::wxDateTime_t)(int)DayValue, (wxDateTime::Month)(MonthValue), YearValue, 0, 0, 0, 0);
+
+ }
+
+ wxString AnniDayOutput;
+
+ AnniDayOutput.append(wxString::Format(wxT("%02i"), (int)DayValue));
+ AnniDayOutput.append(wxT("/"));
+ AnniDayOutput.append(wxString::Format(wxT("%02i"), (int)(MonthValue + 1)));
+
+ if (DateFormat.GetYear() != 0){
+
+ AnniDayOutput.append(wxT("/"));
+ AnniDayOutput.append(wxString::Format(wxT("%04i"), (int)YearValue));
+
+ }
+
+ CaptureString(&AnniDayOutput, FALSE);
+ ConvertToHTML(&AnniDayOutput);
- DataLines.append(AnniLine);
+ DataLines.append(AnniDayOutput);
break;
@@ -674,7 +767,6 @@ void LoadContactData(vCard *vCardObj, wxHtmlWindow *HTMLObj, wxString SID,
SLiter = SplitLength.find(1);
- //txtSurname->SetValue(ContactData.Convert(wxSPropertySeg2.Mid(0, SLiter->second), TRUE));
AddressPOBox = AddressLine.Mid(0, SLiter->second);
intPrevValue = intiter->second;
@@ -685,7 +777,6 @@ void LoadContactData(vCard *vCardObj, wxHtmlWindow *HTMLObj, wxString SID,
SLiter = SplitLength.find(2);
AddressExtended = AddressLine.Mid(intPrevValue, SLiter->second);
- //txtForename->SetValue(ContactData.Convert(wxSPropertySeg2.Mid(intPrevValue, SLiter->second), TRUE));
intPrevValue = intiter->second;
} else if (intiter->first == 3){
@@ -695,7 +786,6 @@ void LoadContactData(vCard *vCardObj, wxHtmlWindow *HTMLObj, wxString SID,
SLiter = SplitLength.find(3);
AddressStreet = AddressLine.Mid(intPrevValue, SLiter->second);
- //txtOtherNames->SetValue(ContactData.Convert(wxSPropertySeg2.Mid(intPrevValue, SLiter->second), TRUE));
intPrevValue = intiter->second;
} else if (intiter->first == 4){
@@ -705,10 +795,7 @@ void LoadContactData(vCard *vCardObj, wxHtmlWindow *HTMLObj, wxString SID,
SLiter = SplitLength.find(4);
AddressLocality = AddressLine.Mid(intPrevValue, SLiter->second);
- //txtTitle->SetValue(ContactData.Convert(wxSPropertySeg2.Mid(intPrevValue, SLiter->second), TRUE));
intPrevValue = intiter->second;
-
- //txtSuffix->SetValue(ContactData.Convert(wxSPropertySeg2.Mid(intPrevValue, wxSTRING_MAXLEN), TRUE));
} else if (intiter->first == 5){
@@ -717,10 +804,7 @@ void LoadContactData(vCard *vCardObj, wxHtmlWindow *HTMLObj, wxString SID,
SLiter = SplitLength.find(5);
AddressRegion = AddressLine.Mid(intPrevValue, SLiter->second);
- //txtTitle->SetValue(ContactData.Convert(wxSPropertySeg2.Mid(intPrevValue, SLiter->second), TRUE));
intPrevValue = intiter->second;
-
- //txtSuffix->SetValue(ContactData.Convert(wxSPropertySeg2.Mid(intPrevValue, wxSTRING_MAXLEN), TRUE));
} else if (intiter->first == 6){
@@ -729,13 +813,11 @@ void LoadContactData(vCard *vCardObj, wxHtmlWindow *HTMLObj, wxString SID,
SLiter = SplitLength.find(6);
AddressPostalCode = AddressLine.Mid(intPrevValue, SLiter->second);
- //txtTitle->SetValue(ContactData.Convert(wxSPropertySeg2.Mid(intPrevValue, SLiter->second), TRUE));
intPrevValue = intiter->second;
// Deal with country.
AddressCountry = AddressLine.Mid(intPrevValue);
- //txtSuffix->SetValue(ContactData.Convert(wxSPropertySeg2.Mid(intPrevValue, wxSTRING_MAXLEN), TRUE));
}
@@ -1600,6 +1682,8 @@ void LoadContactData(vCard *vCardObj, wxHtmlWindow *HTMLObj, wxString SID,
// Display the HTML document on the screen.
+ PageData.append(" | ");
+
PageData.append(wxT(""));
PageData.append(wxT(""));
@@ -1613,6 +1697,8 @@ void SplitPropertyData(wxString *PropertyLine,
int intSize,
std::map *SplitData){
+ // Split the property data into SplitData.
+
wxString DataStr;
wxStringTokenizer PropertyElement;
wxString PropertyName;
|