X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fobjects%2Fcalendarevent%2FCalendarEvent-Save.cpp;h=0feaf23558e3b70371723f9a735a771b919c9109;hb=cba151c4b833a26c63984769f921bab5e755decd;hp=f539944786eb2507fb449178d8207621f5086123;hpb=428c04b066eb433a9cad124bf7d659af8b699544;p=xestiacalendar%2F.git diff --git a/source/objects/calendarevent/CalendarEvent-Save.cpp b/source/objects/calendarevent/CalendarEvent-Save.cpp index f539944..0feaf23 100644 --- a/source/objects/calendarevent/CalendarEvent-Save.cpp +++ b/source/objects/calendarevent/CalendarEvent-Save.cpp @@ -1,3 +1,21 @@ +// CalendarEvent.cpp - CalendarEventObject 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 "CalendarEvent.h" using namespace std; @@ -621,6 +639,32 @@ void CalendarEventObject::SaveObjectData(string *SaveData){ } + // Process the DURATION value. + + if (DurationData.size() > 0){ + + DataLine += "DURATION"; + + if (DurationDataTokens.size() > 0){ + + DataLine += ";"; + DataLine += DurationDataTokens; + + } + + DataLine += ":"; + DataLine += DurationData; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + // Process the RRULE value. if (RecurranceRuleData.size() > 0){ @@ -1526,12 +1570,58 @@ void CalendarEventObject::SaveObjectData(string *SaveData){ } + // Process the X-Token VALARM values. + + if (CalendarAlarmData[CalendarAlarmDataSeek].XTokensData.size() > 0){ + + for (int XTokenSeek = 0; XTokenSeek < CalendarAlarmData[CalendarAlarmDataSeek].XTokensData.size(); + XTokenSeek++){ + + DataLine += CalendarAlarmData[CalendarAlarmDataSeek].XTokensDataTokens[XTokenSeek]; + DataLine += ":"; + DataLine += CalendarAlarmData[CalendarAlarmDataSeek].XTokensData[XTokenSeek]; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + } + *SaveData += "END:VALARM\n"; } } + // Process the X-Token values. + + if (XTokensData.size() > 0){ + + for (int XTokenSeek = 0; XTokenSeek < XTokensData.size(); + XTokenSeek++){ + + DataLine += XTokensDataTokens[XTokenSeek]; + DataLine += ":"; + DataLine += XTokensData[XTokenSeek]; + DataLine += "\n"; + + DataLineProcessed = OutputText(&DataLine); + + *SaveData += DataLineProcessed; + + DataLine.clear(); + DataLineProcessed.clear(); + + } + + } + *SaveData += "END:VEVENT\n"; } \ No newline at end of file