summaryrefslogtreecommitdiffabout
path: root/korganizer/koagenda.cpp
Unidiff
Diffstat (limited to 'korganizer/koagenda.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koagenda.cpp35
1 files changed, 20 insertions, 15 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 int x,y;
443 viewportToContents(viewportPos.x(),viewportPos.y(),x,y);
444 int gx,gy;
445 contentsToGrid(x,y,gx,gy);
446 mStartCellX = gx;
447 mStartCellY = gy;
448 mCurrentCellX = gx;
449 mCurrentCellY = gy;
450 mNewItemPopup->popup( viewport()->mapToGlobal( me->pos() ) );
451
452 } else { 442 } else {
453 blockNewEvent = false; 443 blockNewEvent = false;
454 setCursor(arrowCursor); 444 setCursor(arrowCursor);
455 startSelectAction(viewportPos); 445 startSelectAction(viewportPos);
456 } 446 }
457 } 447 }
458 break; 448 break;
459 449
460 case QEvent::MouseButtonRelease: 450 case QEvent::MouseButtonRelease:
461 //qDebug("QEvent::MouseButtonRelease: "); 451 //qDebug("QEvent::MouseButtonRelease: %d",blockNewEvent );
462 if (me->button() == RightButton && block ) { 452 if (me->button() == RightButton && blockNewEvent && !block) {
453 int x,y;
454 viewportToContents(viewportPos.x(),viewportPos.y(),x,y);
455 int gx,gy;
456 contentsToGrid(x,y,gx,gy);
457 if ( mCurrentCellY < mStartCellY +1 ) {
458 //qDebug("mCurrentCellY %d mStartCellY %d ", mCurrentCellY,mStartCellY);
459 mCurrentCellX = gx;
460 mCurrentCellY = gy;
461 mStartCellX = gx;
462 mStartCellY = gy;
463 mNewItemPopup->popup( viewport()->mapToGlobal( me->pos() ) );
464 break;
465 } else {
466 blockNewEvent = false;
467 }
468 } else 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 }
@@ -480,27 +486,26 @@ bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me)
480 mScrollUpTimer.stop(); 486 mScrollUpTimer.stop();
481 mScrollDownTimer.stop(); 487 mScrollDownTimer.stop();
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()*/ )