本文整理汇总了C++中incidence::List::first方法的典型用法代码示例。如果您正苦于以下问题:C++ List::first方法的具体用法?C++ List::first怎么用?C++ List::first使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类incidence::List
的用法示例。
在下文中一共展示了List::first方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: testPasteTodo
void DndFactoryTest::testPasteTodo()
{
MemoryCalendar::Ptr calendar( new MemoryCalendar( QString() ) );
DndFactory factory( calendar );
Todo::Ptr todo( new Todo() );
todo->setSummary( QLatin1String( "Summary 1" ) );
todo->setDtDue( KDateTime( QDate( 2010, 8, 9 ) ) );
Incidence::List incidencesToPaste;
incidencesToPaste.append( todo );
QVERIFY( factory.copyIncidences( incidencesToPaste ) );
const KDateTime newDateTime( QDate( 2011, 1, 1 ), QTime( 10, 10 ) );
Incidence::List pastedIncidences = factory.pasteIncidences( newDateTime );
QVERIFY( pastedIncidences.size() == 1 );
Incidence::Ptr incidence = pastedIncidences.first();
QVERIFY( incidence->type() == Incidence::TypeTodo );
// check if a new uid was generated.
QVERIFY( incidence->uid() != todo->uid() );
Todo::Ptr pastedTodo = incidence.staticCast<Todo>();
QVERIFY( pastedTodo->dtDue() == newDateTime );
QVERIFY( pastedTodo->summary() == todo->summary() );
}
示例2: calendar
void DndFactoryTest::testPasteAllDayEvent2()
{
MemoryCalendar::Ptr calendar( new MemoryCalendar( QString() ) );
DndFactory factory( calendar );
Event::Ptr allDayEvent( new Event() );
allDayEvent->setSummary( QLatin1String( "Summary 2" ) );
allDayEvent->setDtStart( KDateTime( QDate( 2010, 8, 8 ) ) );
allDayEvent->setDtEnd( KDateTime( QDate( 2010, 8, 9 ) ) );
const QString originalUid = allDayEvent->uid();
Incidence::List incidencesToPaste;
incidencesToPaste.append( allDayEvent );
QVERIFY( factory.copyIncidences( incidencesToPaste ) );
const KDateTime newDateTime( QDate( 2011, 1, 1 ) );
const uint originalLength = allDayEvent->dtStart().secsTo( allDayEvent->dtEnd() );
// paste at the new time
Incidence::List pastedIncidences = factory.pasteIncidences( newDateTime );
// we only copied one incidence
QVERIFY( pastedIncidences.size() == 1 );
Incidence::Ptr incidence = pastedIncidences.first();
QVERIFY( incidence->type() == Incidence::TypeEvent );
// check if a new uid was generated.
QVERIFY( incidence->uid() != originalUid );
// the new dateTime didn't have time component
QVERIFY( incidence->allDay() );
Event::Ptr pastedEvent = incidence.staticCast<Event>();
const uint newLength = pastedEvent->dtStart().secsTo( pastedEvent->dtEnd() );
kDebug() << "originalLength was " << originalLength << "; and newLength is "
<< newLength << "; old dtStart was " << allDayEvent->dtStart()
<< " and old dtEnd was " << allDayEvent->dtEnd() << endl
<< "; new dtStart is " << pastedEvent->dtStart()
<< " and new dtEnd is " << pastedEvent->dtEnd();
QVERIFY( originalLength == newLength );
QVERIFY( pastedEvent->dtStart() == newDateTime );
QVERIFY( pastedEvent->summary() == allDayEvent->summary() );
}
示例3: pasteIncidence
Incidence::Ptr DndFactory::pasteIncidence( const KDateTime &newDateTime,
const QFlags<PasteFlag> &pasteOptions )
{
QClipboard *clipboard = QApplication::clipboard();
MemoryCalendar::Ptr calendar( createDropCalendar( clipboard->mimeData() ) );
if ( !calendar ) {
kDebug() << "Can't parse clipboard";
return Incidence::Ptr();
}
Incidence::List incidenceList = calendar->incidences();
Incidence::Ptr incidence = incidenceList.isEmpty() ? Incidence::Ptr() : incidenceList.first();
return d->pasteIncidence( incidence, newDateTime, pasteOptions );
}
示例4: createDropCalendar
Incidence *DndFactory::pasteIncidence( const QDate &newDate, const QTime *newTime )
{
QClipboard *cb = QApplication::clipboard();
Calendar *cal = createDropCalendar( cb->mimeData() );
if ( !cal ) {
kDebug() << "Can't parse clipboard";
return 0;
}
Incidence::List incList = cal->incidences();
Incidence *inc = incList.isEmpty() ? 0 : incList.first();
Incidence *newInc = d->pasteIncidence( inc, newDate, newTime );
newInc->setRelatedTo( 0 );
return newInc;
}
示例5: testPasteAllDayEvent
void DndFactoryTest::testPasteAllDayEvent()
{
MemoryCalendar::Ptr calendar( new MemoryCalendar( QString() ) );
DndFactory factory( calendar );
Event::Ptr allDayEvent( new Event() );
allDayEvent->setSummary( QLatin1String( "Summary 1" ) );
allDayEvent->setDtStart( KDateTime( QDate( 2010, 8, 8 ) ) );
allDayEvent->setDtEnd( KDateTime( QDate( 2010, 8, 9 ) ) );
const QString originalUid = allDayEvent->uid();
const bool originalIsAllDay = allDayEvent->allDay();
Incidence::List incidencesToPaste;
incidencesToPaste.append( allDayEvent );
QVERIFY( factory.copyIncidences( incidencesToPaste ) );
Incidence::List pastedIncidences = factory.pasteIncidences();
QVERIFY( pastedIncidences.size() == 1 );
Incidence::Ptr incidence = pastedIncidences.first();
QVERIFY( incidence->type() == Incidence::TypeEvent );
// check if a new uid was generated.
QVERIFY( incidence->uid() != originalUid );
// we passed an invalid KDateTime to pasteIncidences() so dates don't change.
QVERIFY( incidence->allDay() == originalIsAllDay );
Event::Ptr pastedEvent = incidence.staticCast<Event>();
QVERIFY( pastedEvent->dtStart() == allDayEvent->dtStart() );
QVERIFY( pastedEvent->dtEnd() == allDayEvent->dtEnd() );
QVERIFY( pastedEvent->summary() == allDayEvent->summary() );
}
示例6: uploadIncidences
void KCalResourceSlox::uploadIncidences()
{
QDomDocument doc;
QDomElement ms = WebdavHandler::addDavElement( doc, doc, "multistatus" );
QDomElement pu = WebdavHandler::addDavElement( doc, ms, "propertyupdate" );
QDomElement set = WebdavHandler::addElement( doc, pu, "D:set" );
QDomElement prop = WebdavHandler::addElement( doc, set, "D:prop" );
mUploadIsDelete = false;
Incidence::List added = addedIncidences();
Incidence::List changed = changedIncidences();
Incidence::List deleted = deletedIncidences();
if ( !added.isEmpty() ) {
mUploadedIncidence = added.first();
} else if ( !changed.isEmpty() ) {
mUploadedIncidence = changed.first();
} else if ( !deleted.isEmpty() ) {
mUploadedIncidence = deleted.first();
mUploadIsDelete = true;
} else {
mUploadedIncidence = 0;
kDebug() << "FINISHED";
emit resourceSaved( this );
return;
}
// Don't try to upload recurring incidences as long as the resource doesn't
// correctly write them in order to avoid corrupting data on the server.
// FIXME: Remove when recurrences are correctly written.
if ( mUploadedIncidence->recurs() && type() == "slox" ) {
clearChange( mUploadedIncidence );
uploadIncidences();
return;
}
KUrl url = mPrefs->url();
QString sloxId = mUploadedIncidence->customProperty( "SLOX", "ID" );
if ( !sloxId.isEmpty() ) {
WebdavHandler::addSloxElement( this, doc, prop, fieldName( ObjectId ), sloxId );
} else {
if ( mUploadIsDelete ) {
kError() << "Incidence to delete doesn't have a SLOX id";
clearChange( mUploadedIncidence );
uploadIncidences();
return;
}
}
WebdavHandler::addSloxElement( this, doc, prop, fieldName( ClientId ),
mUploadedIncidence->uid() );
if ( type() == "ox" ) {
const QString lastModified = mUploadedIncidence->customProperty( "SLOX", "LastModified" );
WebdavHandler::addSloxElement( this, doc, prop, fieldName( LastModified ), lastModified );
}
if ( mUploadIsDelete ) {
if ( mUploadedIncidence->type() == "Event" ) {
url.setPath( "/servlet/webdav.calendar/" + sloxId );
} else if ( mUploadedIncidence->type() == "Todo" ) {
url.setPath( "/servlet/webdav.tasks/" + sloxId );
} else {
kWarning() << "Unsupported incidence type:"
<< mUploadedIncidence->type();
return;
}
if ( type() == "ox" ) {
WebdavHandler::addSloxElement( this, doc, prop, "method", "DELETE" );
if ( mUploadedIncidence->type() == "Event" )
WebdavHandler::addSloxElement( this, doc, prop, fieldName( FolderId ), mPrefs->calendarFolderId() );
else if ( mUploadedIncidence->type() == "Todo" )
WebdavHandler::addSloxElement( this, doc, prop, fieldName( FolderId ), mPrefs->taskFolderId() );
} else {
QDomElement remove = WebdavHandler::addElement( doc, pu, "D:remove" );
QDomElement prop = WebdavHandler::addElement( doc, remove, "D:prop" );
WebdavHandler::addSloxElement( this, doc, prop, "sloxid", sloxId );
}
} else {
createIncidenceAttributes( doc, prop, mUploadedIncidence );
// FIXME: Use a visitor
if ( mUploadedIncidence->type() == "Event" ) {
url.setPath( "/servlet/webdav.calendar/file.xml" );
createEventAttributes( doc, prop, static_cast<Event *>( mUploadedIncidence ) );
// TODO: OX supports recurrences also for tasks
createRecurrenceAttributes( doc, prop, mUploadedIncidence );
} else if ( mUploadedIncidence->type() == "Todo" ) {
url.setPath( "/servlet/webdav.tasks/file.xml" );
createTodoAttributes( doc, prop, static_cast<Todo *>( mUploadedIncidence ) );
} else {
kWarning() << "Unsupported incidence type:"
<< mUploadedIncidence->type();
return;
}
}
url.setUser( mPrefs->user() );
url.setPass( mPrefs->password() );
kDebug() << url;
//.........这里部分代码省略.........