X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fobjects%2Fcalendartask%2FCalendarTask-Save.cpp;h=410fc5624309ec0a68e205f56efe33bab7ceaea8;hb=b61ebde9b6b48e326d6693b0be86e9cc810e11db;hp=89da0acac32a67a979003f8f68797af266b8b1ee;hpb=11254a6e54e65166fcb20cad036bc9613de5e899;p=xestiacalendar%2F.git diff --git a/source/objects/calendartask/CalendarTask-Save.cpp b/source/objects/calendartask/CalendarTask-Save.cpp index 89da0ac..410fc56 100644 --- a/source/objects/calendartask/CalendarTask-Save.cpp +++ b/source/objects/calendartask/CalendarTask-Save.cpp @@ -65,6 +65,426 @@ void CalendarTaskObject::SaveObjectData(string *SaveData){ } + // Process the CLASS value. + + if (ClassData.size() > 0){ + + if (ClassDataTokens.size() > 0){ + + DataLine += "CLASS;"; + DataLine += ClassDataTokens; + + } else { + + DataLine += "CLASS"; + + } + + DataLine += ":"; + DataLine += ClassData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the COMPLETED value. + + if (CompletedData.size() > 0){ + + if (CompletedDataTokens.size() > 0){ + + DataLine += "COMPLETED;"; + DataLine += CompletedDataTokens; + + } else { + + DataLine += "COMPLETED"; + + } + + DataLine += ":"; + DataLine += CompletedData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the CREATED value. + + if (DateTimeCreatedData.size() > 0){ + + if (DateTimeCreatedTokens.size() > 0){ + + DataLine += "CREATED;"; + DataLine += DateTimeCreatedTokens; + + } else { + + DataLine += "CREATED"; + + } + + DataLine += ":"; + DataLine += DateTimeCreatedData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the DESCRIPTION values. Write out the + // first DESCRPITION only as per RFC5545 specifcation. + + if (DescriptionList.size() > 0){ + + DataLine += "DESCRIPTION"; + + if (DescriptionListAltRep[0].size() > 0){ + + DataLine += ";ALTREP=\""; + DataLine += DescriptionListAltRep[0]; + DataLine += "\""; + + } + + if (DescriptionListLanguage[0].size() > 0){ + + DataLine += ";LANGUAGE="; + DataLine += DescriptionListLanguage[0]; + + } + + if (DescriptionListTokens[0].size() > 0){ + + DataLine += ";"; + DataLine += DescriptionListTokens[0]; + + } + + DataLine += ":"; + DataLine += DescriptionList[0]; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the DTSTART. + + if (DateTimeStartData.size() > 0){ + + DataLine += "DTSTART"; + + if (DateTimeStartDataValue.size() > 0){ + + DataLine += ";VALUE="; + DataLine += DateTimeStartDataValue; + + } + + if (DateTimeStartDataTimeZoneID.size() > 0){ + + DataLine += ";TZID="; + DataLine += DateTimeStartDataTimeZoneID; + + } + + if (DateTimeStartDataTokens.size() > 0){ + + DataLine += ";"; + DataLine += DateTimeStartDataTokens; + + } + + DataLine += ":"; + DataLine += DateTimeStartData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the GEO value. + + if (GeographicData.size() > 0){ + + if (GeographicTokens.size() > 0){ + + DataLine += "GEO;"; + DataLine += GeographicTokens; + + } else { + + DataLine += "GEO"; + + } + + DataLine += ":"; + DataLine += GeographicData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the LAST-MODIFIED value. + + if (LastModifiedData.size() > 0){ + + if (LastModifiedTokens.size() > 0){ + + DataLine += "LAST-MODIFIED;"; + DataLine += LastModifiedTokens; + + } else { + + DataLine += "LAST-MODIFIED"; + + } + + DataLine += ":"; + DataLine += LastModifiedData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the LOCATION value. + + if (LocationData.size() > 0){ + + DataLine += "LOCATION"; + + if (LocationDataAltRep.size() > 0){ + + DataLine += ";ALTREP=\""; + DataLine += LocationDataAltRep; + DataLine += "\""; + + } + + if (LocationDataLanguage.size() > 0){ + + DataLine += ";LANGUAGE="; + DataLine += LocationDataLanguage; + + } + + if (LocationDataTokens.size() > 0){ + + DataLine += ";"; + DataLine += LocationDataTokens; + + } + + DataLine += ":"; + DataLine += LocationData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the ORGANIZER value. + + if (OrganiserData.size() > 0){ + + DataLine += "ORGANIZER"; + + if (OrganiserDataCommonName.size() > 0){ + + DataLine += ";CN="; + DataLine += OrganiserDataCommonName; + + } + + if (OrganiserDataDirectoryEntry.size() > 0){ + + DataLine += ";DIR=\""; + DataLine += OrganiserDataDirectoryEntry; + DataLine += "\""; + + } + + if (OrganiserDataSentByParam.size() > 0){ + + DataLine += ";SENT-BY=\""; + DataLine += OrganiserDataSentByParam; + DataLine += "\""; + + } + + if (OrganiserDataLanguage.size() > 0){ + + DataLine += ";LANGUAGE="; + DataLine += OrganiserDataLanguage; + + } + + if (OrganiserDataTokens.size() > 0){ + + DataLine += ";"; + DataLine += OrganiserDataTokens; + + } + + DataLine += ":"; + DataLine += OrganiserData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the PERCENT-COMPLETE value. + + if (PercentCompleteData.size() > 0){ + + if (PercentCompleteTokens.size() > 0){ + + DataLine += "PERCENT-COMPLETE;"; + DataLine += PercentCompleteTokens; + + } else { + + DataLine += "PERCENT-COMPLETE"; + + } + + DataLine += ":"; + DataLine += PercentCompleteData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the PRIORITY value. + + if (PriorityData > -1 && PriorityData < 10){ + + DataLine += "PRIORITY"; + + if (PriorityTokens.size() > 0){ + + DataLine += ";"; + DataLine += PriorityTokens; + + } + + DataLine += ":"; + DataLine += to_string(PriorityData); + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + // Process the RECURRENCE-ID value. + + if (RecurranceIDData.size() > 0){ + + DataLine += "RECURRENCE-ID"; + + if (RecurranceIDDataTimeZoneParam.size() > 0){ + + DataLine += ";TZID="; + DataLine += RecurranceIDDataTimeZoneParam; + + } + + if (RecurranceIDDataRangeParam.size() > 0){ + + DataLine += ";RANGE="; + DataLine += RecurranceIDDataRangeParam; + + } + + if (RecurranceIDDataValue.size() > 0){ + + DataLine += ";VALUE="; + DataLine += RecurranceIDDataValue; + + } + + if (RecurranceIDDataTokens.size() > 0){ + + DataLine += ";"; + DataLine += RecurranceIDDataTokens; + + } + + DataLine += ":"; + DataLine += RecurranceIDData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + *SaveData += "END:VTODO\n"; } \ No newline at end of file