summaryrefslogtreecommitdiffabout
path: root/korganizer/koagenda.cpp
Unidiff
Diffstat (limited to 'korganizer/koagenda.cpp') (more/less context) (show whitespace changes)
-rw-r--r--korganizer/koagenda.cpp31
1 files changed, 18 insertions, 13 deletions
diff --git a/korganizer/koagenda.cpp b/korganizer/koagenda.cpp
index 0aef929..ffa2678 100644
--- a/korganizer/koagenda.cpp
+++ b/korganizer/koagenda.cpp
@@ -429,46 +429,52 @@ bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me)
429 startItemAction(viewportPos); 429 startItemAction(viewportPos);
430 startX = viewportPos.x(); 430 startX = viewportPos.x();
431 startY = viewportPos.y(); 431 startY = viewportPos.y();
432 block = true; 432 block = true;
433 } 433 }
434 } 434 }
435 } 435 }
436 } else { 436 } else {
437 selectItem(0); 437 selectItem(0);
438 mActionItem = 0; 438 mActionItem = 0;
439 if (me->button() == RightButton ) { 439 if (me->button() == RightButton ) {
440 blockNewEvent = true; 440 blockNewEvent = true;
441 //qDebug("right "); 441 block = false;
442 } else {
443 blockNewEvent = false;
444 setCursor(arrowCursor);
445 startSelectAction(viewportPos);
446 }
447 }
448 break;
449
450 case QEvent::MouseButtonRelease:
451 //qDebug("QEvent::MouseButtonRelease: %d",blockNewEvent );
452 if (me->button() == RightButton && blockNewEvent && !block) {
442 int x,y; 453 int x,y;
443 viewportToContents(viewportPos.x(),viewportPos.y(),x,y); 454 viewportToContents(viewportPos.x(),viewportPos.y(),x,y);
444 int gx,gy; 455 int gx,gy;
445 contentsToGrid(x,y,gx,gy); 456 contentsToGrid(x,y,gx,gy);
446 mStartCellX = gx; 457 if ( mCurrentCellY < mStartCellY +1 ) {
447 mStartCellY = gy; 458 //qDebug("mCurrentCellY %d mStartCellY %d ", mCurrentCellY,mStartCellY);
448 mCurrentCellX = gx; 459 mCurrentCellX = gx;
449 mCurrentCellY = gy; 460 mCurrentCellY = gy;
461 mStartCellX = gx;
462 mStartCellY = gy;
450 mNewItemPopup->popup( viewport()->mapToGlobal( me->pos() ) ); 463 mNewItemPopup->popup( viewport()->mapToGlobal( me->pos() ) );
451 464 break;
452 } else { 465 } else {
453 blockNewEvent = false; 466 blockNewEvent = false;
454 setCursor(arrowCursor);
455 startSelectAction(viewportPos);
456 } 467 }
457 } 468 } else if (me->button() == RightButton && block ) {
458 break;
459
460 case QEvent::MouseButtonRelease:
461 //qDebug("QEvent::MouseButtonRelease: ");
462 if (me->button() == RightButton && block ) {
463 if (object != viewport()) { 469 if (object != viewport()) {
464 mClickedItem = (KOAgendaItem *)object; 470 mClickedItem = (KOAgendaItem *)object;
465 if (mActionItem ) { 471 if (mActionItem ) {
466 endItemAction(); 472 endItemAction();
467 } 473 }
468 if (mClickedItem) { 474 if (mClickedItem) {
469 selectItem(mClickedItem); 475 selectItem(mClickedItem);
470 emit showIncidencePopupSignal(mClickedItem->incidence()); 476 emit showIncidencePopupSignal(mClickedItem->incidence());
471 } 477 }
472 } 478 }
473 break; 479 break;
474 } 480 }
@@ -482,25 +488,24 @@ bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me)
482 mActionItem->resetMove(); 488 mActionItem->resetMove();
483 placeSubCells( mActionItem ); 489 placeSubCells( mActionItem );
484 // emit startDragSignal( mActionItem->incidence() ); 490 // emit startDragSignal( mActionItem->incidence() );
485 setCursor( arrowCursor ); 491 setCursor( arrowCursor );
486 mActionItem = 0; 492 mActionItem = 0;
487 mActionType = NOP; 493 mActionType = NOP;
488 mItemMoved = 0; 494 mItemMoved = 0;
489 return true; 495 return true;
490 } 496 }
491 endItemAction(); 497 endItemAction();
492 } else if ( mActionType == SELECT ) { 498 } else if ( mActionType == SELECT ) {
493 if (me->button() == RightButton ) { 499 if (me->button() == RightButton ) {
494
495 } else { 500 } else {
496 endSelectAction( !blockNewEvent ); 501 endSelectAction( !blockNewEvent );
497 } 502 }
498 } 503 }
499 break; 504 break;
500 505
501 case QEvent::MouseMove: 506 case QEvent::MouseMove:
502 if (object != viewport()) { 507 if (object != viewport()) {
503 KOAgendaItem *moveItem = (KOAgendaItem *)object; 508 KOAgendaItem *moveItem = (KOAgendaItem *)object;
504 //qDebug("moveItem %d ",moveItem ); 509 //qDebug("moveItem %d ",moveItem );
505 if (!moveItem->incidence()->isReadOnly() /*&& 510 if (!moveItem->incidence()->isReadOnly() /*&&
506 !moveItem->incidence()->recurrence()->doesRecur()*/ ) 511 !moveItem->incidence()->recurrence()->doesRecur()*/ )