X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fobjects%2Fcalendartimezone%2FCalendarTimezone-Save.cpp;h=1a72a0bca4ee5ddcae93a190bda22130389e4c9e;hb=cba151c4b833a26c63984769f921bab5e755decd;hp=eaed6448ea19e9e4080f6e1bbfb6e139bf7ebbc3;hpb=d3fc919ab635089db80fddb5265430ae23038b4a;p=xestiacalendar%2F.git diff --git a/source/objects/calendartimezone/CalendarTimezone-Save.cpp b/source/objects/calendartimezone/CalendarTimezone-Save.cpp index eaed644..1a72a0b 100644 --- a/source/objects/calendartimezone/CalendarTimezone-Save.cpp +++ b/source/objects/calendartimezone/CalendarTimezone-Save.cpp @@ -1,3 +1,21 @@ +// CalendarTimezone-Save.cpp - CalendarTimezone class save functions +// +// (c) 2016-2017 Xestia Software Development. +// +// This file is part of Xestia Calendar. +// +// Xestia Calendar 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 Calendar 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 Calendar. If not, see + #include "CalendarTimezone.h" using namespace std; @@ -264,34 +282,72 @@ void CalendarTimezoneObject::SaveObjectData(string *SaveData){ if (TimezoneStandardCollection[TimezoneStandardSeek].RecurranceDateData.size() > 0){ - for (int CommentListSeek = 0; CommentListSeek < TimezoneStandardCollection[TimezoneStandardSeek].RecurranceDateData.size(); - CommentListSeek++){ + for (int RecurranceDataSeek = 0; RecurranceDataSeek < TimezoneStandardCollection[TimezoneStandardSeek].RecurranceDateData.size(); + RecurranceDataSeek++){ DataLine += "RDATE"; - if (TimezoneStandardCollection[TimezoneStandardSeek].RecurranceDateDataValue[CommentListSeek].size() > 0){ + if (TimezoneStandardCollection[TimezoneStandardSeek].RecurranceDateDataValue[RecurranceDataSeek].size() > 0){ DataLine += ";VALUE="; - DataLine += TimezoneStandardCollection[TimezoneStandardSeek].RecurranceDateDataValue[CommentListSeek]; + DataLine += TimezoneStandardCollection[TimezoneStandardSeek].RecurranceDateDataValue[RecurranceDataSeek]; } - if (TimezoneStandardCollection[TimezoneStandardSeek].RecurranceDateDataTimeZoneParam[CommentListSeek].size() > 0){ + if (TimezoneStandardCollection[TimezoneStandardSeek].RecurranceDateDataTimeZoneParam[RecurranceDataSeek].size() > 0){ DataLine += ";TZID="; - DataLine += TimezoneStandardCollection[TimezoneStandardSeek].RecurranceDateDataTimeZoneParam[CommentListSeek]; + DataLine += TimezoneStandardCollection[TimezoneStandardSeek].RecurranceDateDataTimeZoneParam[RecurranceDataSeek]; + + } + + if (TimezoneStandardCollection[TimezoneStandardSeek].RecurranceDateDataTokens[RecurranceDataSeek].size() > 0){ + + DataLine += ";"; + DataLine += TimezoneStandardCollection[TimezoneStandardSeek].RecurranceDateDataTokens[RecurranceDataSeek]; + + } + + DataLine += ":"; + DataLine += TimezoneStandardCollection[TimezoneStandardSeek].RecurranceDateData[RecurranceDataSeek]; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + } + + // Process the TZNAME value. + + if (TimezoneStandardCollection[TimezoneStandardSeek].TimeZoneNameData.size() > 0){ + + for (int TimezoneNameSeek = 0; TimezoneNameSeek < TimezoneStandardCollection[TimezoneStandardSeek].TimeZoneNameData.size(); + TimezoneNameSeek++){ + + DataLine += "TZNAME"; + + if (TimezoneStandardCollection[TimezoneStandardSeek].TimeZoneNameLanguage[TimezoneNameSeek].size() > 0){ + + DataLine += ";LANGUAGE="; + DataLine += TimezoneStandardCollection[TimezoneStandardSeek].TimeZoneNameLanguage[TimezoneNameSeek]; } - if (TimezoneStandardCollection[TimezoneStandardSeek].RecurranceDateDataTokens[CommentListSeek].size() > 0){ + if (TimezoneStandardCollection[TimezoneStandardSeek].TimeZoneNameTokens[TimezoneNameSeek].size() > 0){ DataLine += ";"; - DataLine += TimezoneStandardCollection[TimezoneStandardSeek].RecurranceDateDataTokens[CommentListSeek]; + DataLine += TimezoneStandardCollection[TimezoneStandardSeek].TimeZoneNameTokens[TimezoneNameSeek]; } DataLine += ":"; - DataLine += TimezoneStandardCollection[TimezoneStandardSeek].RecurranceDateData[CommentListSeek]; + DataLine += TimezoneStandardCollection[TimezoneStandardSeek].TimeZoneNameData[TimezoneNameSeek]; DataLine += "\n"; DataLineProcessed = OutputText(&DataLine); @@ -304,7 +360,30 @@ void CalendarTimezoneObject::SaveObjectData(string *SaveData){ } } + + // Process data from X-* + + if (TimezoneStandardCollection[TimezoneStandardSeek].XTokensData.size() > 0){ + for (int TimezoneXTokenSeek = 0; TimezoneXTokenSeek < TimezoneStandardCollection[TimezoneStandardSeek].XTokensData.size(); + TimezoneXTokenSeek++){ + + DataLine += TimezoneStandardCollection[TimezoneStandardSeek].XTokensDataTokens[TimezoneXTokenSeek]; + DataLine += ":"; + DataLine += TimezoneStandardCollection[TimezoneStandardSeek].XTokensData[TimezoneXTokenSeek]; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + } + *SaveData += "END:STANDARD\n"; } @@ -482,34 +561,34 @@ void CalendarTimezoneObject::SaveObjectData(string *SaveData){ if (TimezoneDaylightCollection[TimezoneDaylightSeek].RecurranceDateData.size() > 0){ - for (int CommentListSeek = 0; CommentListSeek < TimezoneDaylightCollection[TimezoneDaylightSeek].RecurranceDateData.size(); - CommentListSeek++){ + for (int RecurranceDataSeek = 0; RecurranceDataSeek < TimezoneDaylightCollection[TimezoneDaylightSeek].RecurranceDateData.size(); + RecurranceDataSeek++){ DataLine += "RDATE"; - if (TimezoneDaylightCollection[TimezoneDaylightSeek].RecurranceDateDataValue[CommentListSeek].size() > 0){ + if (TimezoneDaylightCollection[TimezoneDaylightSeek].RecurranceDateDataValue[RecurranceDataSeek].size() > 0){ DataLine += ";VALUE="; - DataLine += TimezoneDaylightCollection[TimezoneDaylightSeek].RecurranceDateDataValue[CommentListSeek]; + DataLine += TimezoneDaylightCollection[TimezoneDaylightSeek].RecurranceDateDataValue[RecurranceDataSeek]; } - if (TimezoneDaylightCollection[TimezoneDaylightSeek].RecurranceDateDataTimeZoneParam[CommentListSeek].size() > 0){ + if (TimezoneDaylightCollection[TimezoneDaylightSeek].RecurranceDateDataTimeZoneParam[RecurranceDataSeek].size() > 0){ DataLine += ";TZID="; - DataLine += TimezoneDaylightCollection[TimezoneDaylightSeek].RecurranceDateDataTimeZoneParam[CommentListSeek]; + DataLine += TimezoneDaylightCollection[TimezoneDaylightSeek].RecurranceDateDataTimeZoneParam[RecurranceDataSeek]; } - if (TimezoneDaylightCollection[TimezoneDaylightSeek].RecurranceDateDataTokens[CommentListSeek].size() > 0){ + if (TimezoneDaylightCollection[TimezoneDaylightSeek].RecurranceDateDataTokens[RecurranceDataSeek].size() > 0){ DataLine += ";"; - DataLine += TimezoneDaylightCollection[TimezoneDaylightSeek].RecurranceDateDataTokens[CommentListSeek]; + DataLine += TimezoneDaylightCollection[TimezoneDaylightSeek].RecurranceDateDataTokens[RecurranceDataSeek]; } DataLine += ":"; - DataLine += TimezoneDaylightCollection[TimezoneDaylightSeek].RecurranceDateData[CommentListSeek]; + DataLine += TimezoneDaylightCollection[TimezoneDaylightSeek].RecurranceDateData[RecurranceDataSeek]; DataLine += "\n"; DataLineProcessed = OutputText(&DataLine); @@ -522,6 +601,67 @@ void CalendarTimezoneObject::SaveObjectData(string *SaveData){ } } + + // Process the TZNAME value. + + if (TimezoneDaylightCollection[TimezoneDaylightSeek].TimeZoneNameData.size() > 0){ + + for (int TimezoneNameSeek = 0; TimezoneNameSeek < TimezoneDaylightCollection[TimezoneDaylightSeek].TimeZoneNameData.size(); + TimezoneNameSeek++){ + + DataLine += "TZNAME"; + + if (TimezoneDaylightCollection[TimezoneDaylightSeek].TimeZoneNameLanguage[TimezoneNameSeek].size() > 0){ + + DataLine += ";LANGUAGE="; + DataLine += TimezoneDaylightCollection[TimezoneDaylightSeek].TimeZoneNameLanguage[TimezoneNameSeek]; + + } + + if (TimezoneDaylightCollection[TimezoneDaylightSeek].TimeZoneNameTokens[TimezoneNameSeek].size() > 0){ + + DataLine += ";"; + DataLine += TimezoneDaylightCollection[TimezoneDaylightSeek].TimeZoneNameTokens[TimezoneNameSeek]; + + } + + DataLine += ":"; + DataLine += TimezoneDaylightCollection[TimezoneDaylightSeek].TimeZoneNameData[TimezoneNameSeek]; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + } + + // Process data from X-* + + if (TimezoneDaylightCollection[TimezoneDaylightSeek].XTokensData.size() > 0){ + + for (int TimezoneXTokenSeek = 0; TimezoneXTokenSeek < TimezoneDaylightCollection[TimezoneDaylightSeek].XTokensData.size(); + TimezoneXTokenSeek++){ + + DataLine += TimezoneDaylightCollection[TimezoneDaylightSeek].XTokensDataTokens[TimezoneXTokenSeek]; + DataLine += ":"; + DataLine += TimezoneDaylightCollection[TimezoneDaylightSeek].XTokensData[TimezoneXTokenSeek]; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + } *SaveData += "END:DAYLIGHT\n";