-rw-r--r-- | korganizer/koagenda.cpp | 31 |
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()*/ ) |