summaryrefslogtreecommitdiffabout
path: root/korganizer/kotodoview.cpp
Unidiff
Diffstat (limited to 'korganizer/kotodoview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/kotodoview.cpp61
1 files changed, 35 insertions, 26 deletions
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp
index 1fb480d..8c1953d 100644
--- a/korganizer/kotodoview.cpp
+++ b/korganizer/kotodoview.cpp
@@ -141,3 +141,2 @@ void KOTodoListView::contentsDropEvent(QDropEvent *e)
141 if(existingTodo) { 141 if(existingTodo) {
142// kdDebug() << "Drop existing Todo" << endl;
143 Incidence *to = destinationEvent; 142 Incidence *to = destinationEvent;
@@ -146,3 +145,3 @@ void KOTodoListView::contentsDropEvent(QDropEvent *e)
146 KMessageBox::sorry(this, 145 KMessageBox::sorry(this,
147 i18n("Cannot move To-Do to itself or a child of itself"), 146 i18n("Cannot move To-Do to itself\nor a child of itself"),
148 i18n("Drop To-Do")); 147 i18n("Drop To-Do"));
@@ -153,11 +152,13 @@ void KOTodoListView::contentsDropEvent(QDropEvent *e)
153 } 152 }
154 existingTodo->setRelatedTo(destinationEvent); 153 internalDrop = true;
155 emit todoDropped(todo); 154 if ( destinationEvent )
155 reparentTodoSignal( destinationEvent, existingTodo );
156 else
157 unparentTodoSignal(existingTodo);
156 delete todo; 158 delete todo;
157 } else { 159 } else {
158// kdDebug() << "Drop new Todo" << endl;
159 todo->setRelatedTo(destinationEvent);
160 mCalendar->addTodo(todo); 160 mCalendar->addTodo(todo);
161 161 emit todoDropped(todo, KOGlobals::EVENTADDED);
162 emit todoDropped(todo); 162 if ( destinationEvent )
163 reparentTodoSignal( destinationEvent, todo );
163 } 164 }
@@ -169,6 +170,5 @@ void KOTodoListView::contentsDropEvent(QDropEvent *e)
169 KOTodoViewItem *todoi = static_cast<KOTodoViewItem *>(itemAt( contentsToViewport(e->pos()) )); 170 KOTodoViewItem *todoi = static_cast<KOTodoViewItem *>(itemAt( contentsToViewport(e->pos()) ));
170 kdDebug() << "Dropped : " << text << endl; 171 qDebug("Dropped : " + text);
171 QStringList emails = QStringList::split(",",text); 172 QStringList emails = QStringList::split(",",text);
172 for(QStringList::ConstIterator it = emails.begin();it!=emails.end();++it) { 173 for(QStringList::ConstIterator it = emails.begin();it!=emails.end();++it) {
173 kdDebug() << " Email: " << (*it) << endl;
174 int pos = (*it).find("<"); 174 int pos = (*it).find("<");
@@ -182,3 +182,3 @@ void KOTodoListView::contentsDropEvent(QDropEvent *e)
182 else { 182 else {
183 kdDebug() << "KOTodoListView::contentsDropEvent(): Todo from drop not decodable" << endl; 183 qDebug("KOTodoListView::contentsDropEvent(): Todo from drop not decodable ");
184 e->ignore(); 184 e->ignore();
@@ -191,3 +191,2 @@ void KOTodoListView::contentsMousePressEvent(QMouseEvent* e)
191{ 191{
192 QListView::contentsMousePressEvent(e);
193#ifndef KORG_NODND 192#ifndef KORG_NODND
@@ -195,2 +194,3 @@ void KOTodoListView::contentsMousePressEvent(QMouseEvent* e)
195 QListViewItem *i = itemAt(p); 194 QListViewItem *i = itemAt(p);
195 mMousePressed = false;
196 if (i) { 196 if (i) {
@@ -209,2 +209,3 @@ void KOTodoListView::contentsMousePressEvent(QMouseEvent* e)
209#endif 209#endif
210 QListView::contentsMousePressEvent(e);
210} 211}
@@ -215,3 +216,2 @@ void KOTodoListView::contentsMouseMoveEvent(QMouseEvent* e)
215#ifndef KORG_NODND 216#ifndef KORG_NODND
216// kdDebug() << "KOTodoListView::contentsMouseMoveEvent()" << endl;
217 QListView::contentsMouseMoveEvent(e); 217 QListView::contentsMouseMoveEvent(e);
@@ -222,18 +222,20 @@ void KOTodoListView::contentsMouseMoveEvent(QMouseEvent* e)
222 if (item) { 222 if (item) {
223// kdDebug() << "Start Drag for item " << item->text(0) << endl;
224 DndFactory factory( mCalendar ); 223 DndFactory factory( mCalendar );
225 ICalDrag *vd = factory.createDragTodo( 224 ICalDrag *vd = factory.createDrag(
226 ((KOTodoViewItem *)item)->todo(),viewport()); 225 ((KOTodoViewItem *)item)->todo(),viewport());
226 internalDrop = false;
227 // we cannot do any senseful here, because the DnD is still broken in Qt
227 if (vd->drag()) { 228 if (vd->drag()) {
228 kdDebug() << "KOTodoListView::contentsMouseMoveEvent(): Delete drag source" << endl; 229 if ( !internalDrop ) {
230 //emit deleteTodo( ((KOTodoViewItem *)item)->todo() );
231 qDebug("Dnd: External move: Delete drag source ");
232 } else
233 qDebug("Dnd: Internal move ");
234
235 } else {
236 if ( !internalDrop ) {
237 qDebug("Dnd: External Copy");
238 } else
239 qDebug("DnD: Internal copy: Copy pending");
229 } 240 }
230/*
231 QString source = fullPath(item);
232 if ( QFile::exists(source) ) {
233 QUriDrag* ud = new QUriDrag(viewport());
234 ud->setFilenames( source );
235 if ( ud->drag() )
236 QMessageBox::information( this, "Drag source",
237 QString("Delete ")+source, "Not implemented" );
238*/
239 } 241 }
@@ -491,4 +493,6 @@ KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) :
491 SLOT( itemDoubleClicked( QListViewItem * ) ) ); 493 SLOT( itemDoubleClicked( QListViewItem * ) ) );
492 connect( mTodoListView, SIGNAL( todoDropped( Todo * ) ), 494 connect( mTodoListView, SIGNAL( todoDropped( Todo *, int ) ),
493 SLOT( updateView() ) ); 495 SLOT( updateView() ) );
496 connect( mTodoListView, SIGNAL( todoDropped( Todo *, int ) ),
497 SLOT( todoModified(Todo *, int) ) );
494 connect( mTodoListView, SIGNAL( expanded( QListViewItem * ) ), 498 connect( mTodoListView, SIGNAL( expanded( QListViewItem * ) ),
@@ -506,2 +510,7 @@ KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) :
506#endif 510#endif
511
512 connect( mTodoListView, SIGNAL(reparentTodoSignal( Todo *,Todo * ) ), SIGNAL(reparentTodoSignal( Todo *,Todo * ) ));
513 connect( mTodoListView, SIGNAL(unparentTodoSignal(Todo *) ), SIGNAL(unparentTodoSignal(Todo *) ));
514 connect( mTodoListView, SIGNAL( deleteTodo(Todo *) ), SIGNAL(deleteTodoSignal(Todo *) ));
515
507 connect( mTodoListView, SIGNAL(selectionChanged() ), 516 connect( mTodoListView, SIGNAL(selectionChanged() ),