summaryrefslogtreecommitdiffabout
path: root/korganizer/koagenda.cpp
Side-by-side diff
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
@@ -437,19 +437,9 @@ bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me)
selectItem(0);
mActionItem = 0;
if (me->button() == RightButton ) {
blockNewEvent = true;
- //qDebug("right ");
- int x,y;
- viewportToContents(viewportPos.x(),viewportPos.y(),x,y);
- int gx,gy;
- contentsToGrid(x,y,gx,gy);
- mStartCellX = gx;
- mStartCellY = gy;
- mCurrentCellX = gx;
- mCurrentCellY = gy;
- mNewItemPopup->popup( viewport()->mapToGlobal( me->pos() ) );
-
+ block = false;
} else {
blockNewEvent = false;
setCursor(arrowCursor);
startSelectAction(viewportPos);
@@ -457,10 +447,26 @@ bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me)
}
break;
case QEvent::MouseButtonRelease:
- //qDebug("QEvent::MouseButtonRelease: ");
- if (me->button() == RightButton && block ) {
+ //qDebug("QEvent::MouseButtonRelease: %d",blockNewEvent );
+ if (me->button() == RightButton && blockNewEvent && !block) {
+ int x,y;
+ viewportToContents(viewportPos.x(),viewportPos.y(),x,y);
+ int gx,gy;
+ contentsToGrid(x,y,gx,gy);
+ if ( mCurrentCellY < mStartCellY +1 ) {
+ //qDebug("mCurrentCellY %d mStartCellY %d ", mCurrentCellY,mStartCellY);
+ mCurrentCellX = gx;
+ mCurrentCellY = gy;
+ mStartCellX = gx;
+ mStartCellY = gy;
+ mNewItemPopup->popup( viewport()->mapToGlobal( me->pos() ) );
+ break;
+ } else {
+ blockNewEvent = false;
+ }
+ } else if (me->button() == RightButton && block ) {
if (object != viewport()) {
mClickedItem = (KOAgendaItem *)object;
if (mActionItem ) {
endItemAction();
@@ -488,11 +494,10 @@ bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me)
mItemMoved = 0;
return true;
}
endItemAction();
- } else if ( mActionType == SELECT ) {
+ } else if ( mActionType == SELECT ) {
if (me->button() == RightButton ) {
-
} else {
endSelectAction( !blockNewEvent );
}
}