Maemo::Timed::Event::Recurrence & Maemo::Timed::Event::addRecurrence() { Maemo::Timed::event_recurrence_pimple_t *pr = new Maemo::Timed::event_recurrence_pimple_t ; pr->recurrence_no = p->r.size() ; pr->eio = & p->eio ; p->r.push_back(pr) ; p->eio.recrs.resize(pr->recurrence_no+1) ; return *getRecurrence(pr) ; }
QByteArray KMoneyThingFile::dump() { QByteArray output; QDataStream stream(output, IO_WriteOnly); stream << (QString) "KMoneyThing Document" << (QString) "pre1_draft"; stream << (QString) "<name>" << mName << (QString) "</name>"; stream << (QString) "<locale>" << mLocale << (QString) "</locale>"; for (Q_UINT32 aI = 0; aI < accounts(); aI++) { KMoneyThingAccount* account = getAccount(aI); stream << (QString) "<account>"; stream << (QString) "<type>" << account->type() << (QString) "</type>"; stream << (QString) "<name>" << account->name() << (QString) "</name>"; stream << (QString) "<description>" << account->description() << (QString) "</description>"; stream << (QString) "<accountNumber>" << account->accountNumber() << (QString) "</accountNumber>"; stream << (QString) "<institution>" << account->institution() << (QString) "</institution>"; stream << (QString) "<locale>" << account->locale() << (QString) "</locale>"; stream << (QString) "<balance>" << account->balance() << (QString) "</balance>"; stream << (QString) "<startingBalance>" << account->startingBalance() << (QString) "</startingBalance>"; for (Q_UINT32 tI = 0; tI < account->transactions(); tI++) { KMoneyThingTransaction* transaction = account->getTransaction(tI); stream << (QString) "<transaction>"; stream << (QString) "<name>" << transaction->name() << (QString) "</name>"; stream << (QString) "<type>" << transaction->type() << (QString) "</type>"; stream << (QString) "<category>" << transaction->category() << (QString) "</category>"; stream << (QString) "<payee>" << transaction->payee() << (QString) "</payee>"; stream << (QString) "<state>" << transaction->state() << (QString) "</state>"; stream << (QString) "<statement>" << transaction->statementId() << (QString) "</statement>"; stream << (QString) "<split>" << transaction->split() << (QString) "</split>"; stream << (QString) "<foreign>" << transaction->foreign() << (QString) "</foreign>"; stream << (QString) "<exRate>" << transaction->exchangeRate() << (QString) "</exRate>"; stream << (QString) "<accCurIn>" << transaction->accountCurrencyIn() << (QString) "</accCurIn>"; stream << (QString) "<accCurOut>" << transaction->accountCurrencyOut() << (QString) "</accCurOut>"; stream << (QString) "<trCurIn>" << transaction->transactionCurrencyIn() << (QString) "</trCurIn>"; stream << (QString) "<trCurOut>" << transaction->transactionCurrencyOut() << (QString) "</trCurOut>"; stream << (QString) "<trCurName>" << transaction->transactionCurrencyName() << (QString) "</trCurName>"; for (Q_UINT32 stI = 0; stI < transaction->subTransactions(); stI++) { KMoneyThingSubTransaction* subTransaction = transaction->getSubTransaction(stI); stream << (QString) "<subTransaction>"; stream << (QString) "<name>" << subTransaction->name() << (QString) "</name>"; stream << (QString) "<category>" << subTransaction->category() << (QString) "</category>"; stream << (QString) "<trCurIn>" << subTransaction->transactionCurrencyIn() << (QString) "</trCurIn>"; stream << (QString) "<trCurOut>" << subTransaction->transactionCurrencyOut() << (QString) "</trCurOut>"; stream << (QString) "</subTransaction>"; } for (Q_UINT32 rI = 0; rI < transaction->references(); rI++) { KMoneyThingTransaction::Reference* reference = transaction->getReference(rI); stream << (QString) "<reference>"; stream << (QString) "<refAccount>" << reference->accountName << (QString) "</refAccount>"; stream << (QString) "<refTransaction>" << reference->transactionID << (QString) "</refTransaction>"; stream << (QString) "</reference>"; } stream << (QString) "</transaction>"; } stream << (QString) "</account>"; } for (Q_UINT32 cI = 0; cI < categories(); cI++) stream << (QString) "<category>" << getCategory(cI) << (QString) "</category>"; for (Q_UINT32 rI = 0; rI < recurrences(); rI++) { KMoneyThingRecurringTransaction* transaction = getRecurrence(rI); stream << (QString) "<recurrence>"; // If KMoneyThingTransaction is changed, copy its new code from above, // overwriting from ***HERE*** ... stream << (QString) "<name>" << transaction->name() << (QString) "</name>"; stream << (QString) "<type>" << transaction->type() << (QString) "</type>"; stream << (QString) "<category>" << transaction->category() << (QString) "</category>"; stream << (QString) "<state>" << transaction->state() << (QString) "</state>"; stream << (QString) "<statement>" << transaction->statementId() << (QString) "</statement>"; stream << (QString) "<split>" << transaction->split() << (QString) "</split>"; stream << (QString) "<foreign>" << transaction->foreign() << (QString) "</foreign>"; stream << (QString) "<exRate>" << transaction->exchangeRate() << (QString) "</exRate>"; stream << (QString) "<accCurIn>" << transaction->accountCurrencyIn() << (QString) "</accCurIn>"; stream << (QString) "<accCurOut>" << transaction->accountCurrencyOut() << (QString) "</accCurOut>"; stream << (QString) "<trCurIn>" << transaction->transactionCurrencyIn() << (QString) "</trCurIn>"; stream << (QString) "<trCurOut>" << transaction->transactionCurrencyOut() << (QString) "</trCurOut>"; stream << (QString) "<trCurName>" << transaction->transactionCurrencyName() << (QString) "</trCurName>"; for (Q_UINT32 stI = 0; stI < transaction->subTransactions(); stI++) { KMoneyThingSubTransaction* subTransaction = transaction->getSubTransaction(stI); stream << (QString) "<subTransaction>"; stream << (QString) "<name>" << subTransaction->name() << (QString) "</name>"; stream << (QString) "<category>" << subTransaction->category() << (QString) "</category>"; stream << (QString) "<trCurIn>" << subTransaction->transactionCurrencyIn() << (QString) "</trCurIn>"; stream << (QString) "<trCurOut>" << subTransaction->transactionCurrencyOut() << (QString) "</trCurOut>"; stream << (QString) "</subTransaction>"; } for (Q_UINT32 rI = 0; rI < transaction->references(); rI++) { KMoneyThingTransaction::Reference* reference = transaction->getReference(rI); stream << (QString) "<reference>"; stream << (QString) "<refAccount>" << reference->accountName << (QString) "</refAccount>"; stream << (QString) "<refTransaction>" << reference->transactionID << (QString) "</refTransaction>"; stream << (QString) "</reference>"; } // ... to ***HERE*** stream << (QString) "<recurrency>" << transaction->recurrence() << (QString) "</recurrency>"; stream << (QString) "<xDays>" << transaction->xDays() << (QString) "</xDays>"; stream << (QString) "<firstDate>" << transaction->firstDate() << (QString) "</firstDate>"; stream << (QString) "<daysOn>"; for (char i = 0; i < 7; i++) stream << transaction->isDayOn(i); stream << (QString) "</daysOn>"; stream << (QString) "</recurrence>"; } stream.device()->close(); return qCompress(output); }
Maemo::Timed::Event::Recurrence & Maemo::Timed::Event::recurrence(int index) { return *getRecurrence(p->r.at(index)) ; }
string CTodo::toString() { CAlarm *pAlarm; CRecurrence *cRec; string szRet; string szTemp; time_t temp = 0; std::stringstream ss; ss << "ID="; if (getId().c_str()){ szTemp= getId().substr(0,100); ss << szTemp; szTemp.clear(); } else ss << NULL_STRING; ss << ",CalendarId="; ss << getCalendarId(); ss << ",summary="; if (getSummary().c_str()){ szTemp= getSummary().substr(0,100); ss << szTemp; szTemp.clear(); } else ss << NULL_STRING; ss << ",description="; if (getDescription().c_str()){ szTemp= getDescription().substr(0,100); ss << szTemp; szTemp.clear(); } else ss << NULL_STRING; ss << ",location="; if (getLocation().c_str()){ szTemp= getLocation().substr(0,100); ss << szTemp; szTemp.clear(); } else ss << NULL_STRING; ss << ",UId="; if (getGUid().c_str()){ szTemp= getGUid().substr(0,100); ss << szTemp; szTemp.clear(); } else ss << NULL_STRING; ss << ",TimeZone="; if (getTzid().c_str()){ szTemp= getTzid().substr(0,100); ss << szTemp; szTemp.clear(); } else ss << NULL_STRING; ss << ",Type="; ss << getType() ; ss << ",Flags="; switch (getFlags()){ case HAS_ATTENDEE: ss << "Has Attendee"; break; case HAS_ORGANIZER: ss << "Has Organizer"; break; case HAS_RECURRENCE: ss << "Has Recurrence"; break; case HAS_ALARM: ss << "Has Alarm"; break; case HAS_RECURRENCE_ALARM : ss << "Has Recurrent Alarm"; break; case HAS_PARTICIPANT : ss << "Has Participant"; break; case HAS_CATEGORIES : ss << "Has Categories"; break; case HAS_COMMENT: ss << "Has Comment "; break; case HAS_EXTRA: ss << "Has Extra "; break; default: break; } ss << ",Status="; ss << getStatus(); ss << ",Start date="; temp = getDateStart(); ss << ctime(&temp); ss << ",End date="; temp = getDateEnd(); ss << ctime(&temp); ss << ",Last modified="; temp = getLastModified(); ss << ctime(&temp); ss << ",created="; temp = getCreatedTime(); ss << ctime(&temp); ss << ",until="; temp = getUntil(); ss << ctime(&temp); ss << ",All day="; ss << getAllDay(); ss << ",Geo="; if (szGeo.c_str()){ szTemp= szGeo.substr(0,100); ss << szTemp; szTemp.clear(); } else ss << NULL_STRING; ss << ",TodoDue="; ss << iDue; ss << ",Completed="; ss << iCompleted; ss << ",Percent"; ss << iPercentComplete; ss << ",Priority"; ss << iPriority; pAlarm=getAlarm(); if(pAlarm) ss << pAlarm->toString(); else ss << ",Alarm=NULL"; cRec=getRecurrence(); if(cRec) ss << cRec->toString(); else ss << ",Rec=NULL"; szRet.append(ss.str()); return szRet; }