本文整理汇总了C++中Todo::setDtStart方法的典型用法代码示例。如果您正苦于以下问题:C++ Todo::setDtStart方法的具体用法?C++ Todo::setDtStart怎么用?C++ Todo::setDtStart使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Todo
的用法示例。
在下文中一共展示了Todo::setDtStart方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: testRoles
void TodoTest::testRoles()
{
const KDateTime today = KDateTime::currentUtcDateTime();
const KDateTime yesterday = today.addDays(-1);
Todo todo;
todo.setDtStart(today.addDays(-1));
todo.setDtDue(today);
QCOMPARE(todo.dateTime(Incidence::RoleDisplayStart), today);
QCOMPARE(todo.dateTime(Incidence::RoleDisplayEnd), today);
todo.setDtDue(KDateTime());
QCOMPARE(todo.dateTime(Incidence::RoleDisplayStart), yesterday);
QCOMPARE(todo.dateTime(Incidence::RoleDisplayEnd), yesterday);
}
示例2: testValidity
void TodoTest::testValidity()
{
QDate dt = QDate::currentDate();
Todo *todo = new Todo();
todo->setDtStart(KDateTime(dt));
todo->setDtDue(KDateTime(dt).addDays(1));
todo->setSummary(QStringLiteral("To-do1 Summary"));
todo->setDescription(QStringLiteral("This is a description of the first to-do"));
todo->setLocation(QStringLiteral("the place"));
todo->setPercentComplete(5);
//KDE5: QVERIFY( todo->typeStr() == i18n( "to-do" ) );
QVERIFY(todo->summary() == QLatin1String("To-do1 Summary"));
QVERIFY(todo->location() == QLatin1String("the place"));
QVERIFY(todo->percentComplete() == 5);
}
示例3: start
/** Dissociate a single occurrence or all future occurrences from a recurring sequence.
The new incidence is returned, but not automatically inserted into the calendar,
which is left to the calling application */
Incidence *Calendar::dissociateOccurrence(Incidence *incidence, QDate date,
bool single)
{
if(!incidence || !incidence->doesRecur())
return 0;
Incidence *newInc = incidence->clone();
newInc->recreate();
newInc->setRelatedTo(incidence);
Recurrence *recur = newInc->recurrence();
if(single)
{
recur->clear();
}
else
{
// Adjust the recurrence for the future incidences. In particular
// adjust the "end after n occurrences" rules! "No end date" and "end by ..."
// don't need to be modified.
int duration = recur->duration();
if(duration > 0)
{
int doneduration = recur->durationTo(date.addDays(-1));
if(doneduration >= duration)
{
kdDebug(5850) << "The dissociated event already occurred more often "
<< "than it was supposed to ever occur. ERROR!" << endl;
recur->clear();
}
else
{
recur->setDuration(duration - doneduration);
}
}
}
// Adjust the date of the incidence
if(incidence->type() == "Event")
{
Event *ev = static_cast<Event *>(newInc);
QDateTime start(ev->dtStart());
int daysTo = start.date().daysTo(date);
ev->setDtStart(start.addDays(daysTo));
ev->setDtEnd(ev->dtEnd().addDays(daysTo));
}
else if(incidence->type() == "Todo")
{
Todo *td = static_cast<Todo *>(newInc);
bool haveOffset = false;
int daysTo = 0;
if(td->hasDueDate())
{
QDateTime due(td->dtDue());
daysTo = due.date().daysTo(date);
td->setDtDue(due.addDays(daysTo), true);
haveOffset = true;
}
if(td->hasStartDate())
{
QDateTime start(td->dtStart());
if(!haveOffset)
daysTo = start.date().daysTo(date);
td->setDtStart(start.addDays(daysTo));
haveOffset = true;
}
}
recur = incidence->recurrence();
if(recur)
{
if(single)
{
recur->addExDate(date);
}
else
{
// Make sure the recurrence of the past events ends
// at the corresponding day
recur->setEndDate(date.addDays(-1));
}
}
return newInc;
}