本文整理汇总了C++中Todo::uid方法的典型用法代码示例。如果您正苦于以下问题:C++ Todo::uid方法的具体用法?C++ Todo::uid怎么用?C++ Todo::uid使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Todo
的用法示例。
在下文中一共展示了Todo::uid方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: contentsDropEvent
void KOTodoListView::contentsDropEvent( QDropEvent *e )
{
#ifndef KORG_NODND
kdDebug(5850) << "KOTodoListView::contentsDropEvent" << endl;
if ( !mCalendar || !mChanger ||
( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) &&
!QTextDrag::canDecode( e ) ) ) {
e->ignore();
return;
}
DndFactory factory( mCalendar );
Todo *todo = factory.createDropTodo(e);
if ( todo ) {
e->acceptAction();
KOTodoViewItem *destination =
(KOTodoViewItem *)itemAt(contentsToViewport(e->pos()));
Todo *destinationEvent = 0;
if (destination) destinationEvent = destination->todo();
Todo *existingTodo = mCalendar->todo(todo->uid());
if( existingTodo ) {
kdDebug(5850) << "Drop existing Todo " << existingTodo << " onto " << destinationEvent << endl;
Incidence *to = destinationEvent;
while(to) {
if (to->uid() == todo->uid()) {
KMessageBox::information(this,
i18n("Cannot move to-do to itself or a child of itself."),
i18n("Drop To-do"), "NoDropTodoOntoItself" );
delete todo;
return;
}
to = to->relatedTo();
}
Todo*oldTodo = existingTodo->clone();
if ( mChanger->beginChange( existingTodo ) ) {
existingTodo->setRelatedTo( destinationEvent );
mChanger->changeIncidence( oldTodo, existingTodo, KOGlobals::RELATION_MODIFIED );
mChanger->endChange( existingTodo );
} else {
KMessageBox::sorry( this, i18n("Unable to change to-do's parent, "
"because the to-do cannot be locked.") );
}
delete oldTodo;
delete todo;
} else {
// kdDebug(5850) << "Drop new Todo" << endl;
todo->setRelatedTo(destinationEvent);
if ( !mChanger->addIncidence( todo, this ) ) {
KODialogManager::errorSaveIncidence( this, todo );
delete todo;
return;
}
}
}
else {
QString text;
KOTodoViewItem *todoi = dynamic_cast<KOTodoViewItem *>(itemAt( contentsToViewport(e->pos()) ));
if ( ! todoi ) {
// Not dropped on a todo item:
e->ignore();
kdDebug( 5850 ) << "KOTodoListView::contentsDropEvent(): Not dropped on a todo item" << endl;
kdDebug( 5850 ) << "TODO: Create a new todo with the given data" << endl;
// FIXME: Create a new todo with the given text/contact/whatever
} else if ( QTextDrag::decode(e, text) ) {
//QListViewItem *qlvi = itemAt( contentsToViewport(e->pos()) );
kdDebug(5850) << "Dropped : " << text << endl;
Todo*todo = todoi->todo();
if( mChanger->beginChange( todo ) ) {
Todo*oldtodo = todo->clone();
if( text.startsWith( "file:" ) ) {
todo->addAttachment( new Attachment( text ) );
} else {
QStringList emails = KPIM::splitEmailAddrList( text );
for(QStringList::ConstIterator it = emails.begin();it!=emails.end();++it) {
kdDebug(5850) << " Email: " << (*it) << endl;
int pos = (*it).find("<");
QString name = (*it).left(pos);
QString email = (*it).mid(pos);
if (!email.isEmpty() && todoi) {
todo->addAttendee( new Attendee( name, email ) );
}
}
}
mChanger->changeIncidence( oldtodo, todo );
mChanger->endChange( todo );
} else {
KMessageBox::sorry( this, i18n("Unable to add attendees to the to-do, "
"because the to-do cannot be locked.") );
}
}
else {
kdDebug(5850) << "KOTodoListView::contentsDropEvent(): Todo from drop not decodable" << endl;
e->ignore();
}
//.........这里部分代码省略.........