-rw-r--r-- | korganizer/koagenda.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/korganizer/koagenda.cpp b/korganizer/koagenda.cpp index faddac4..ce73168 100644 --- a/korganizer/koagenda.cpp +++ b/korganizer/koagenda.cpp @@ -463,57 +463,65 @@ bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me) #endif switch (me->type()) { case QEvent::MouseButtonPress: if (me->button() == LeftButton) { mPopupTimer->start( 600 ); mLeftMouseDown = true; } blockMoving = true; startX = viewportPos.x(); startY = viewportPos.y(); mPopupPos = me->globalPos(); if ( objIsNotViewport && !leftButt ) { KOAgendaItem * tempItem = (KOAgendaItem *)object; if (mAllDayMode) { if ( tempItem->height() > 10 ) { int minV = tempItem->height()/4; - if ( minV > (blockmoveDist/2)-2 ) - minV = (blockmoveDist/2)-2; + if ( minV > (blockmoveDist/2)-2 ) { + if ( minV > blockmoveDist ) + minV = blockmoveDist; + else + minV = (blockmoveDist/2); + } bool border = false; int diff = tempItem->y() - viewportPos.y(); if ( diff < 0 ) diff *= -1; if ( diff < minV ) { border = true; objIsNotViewport = false; } if ( ! border ) { diff = tempItem->y() + tempItem->height()- viewportPos.y(); if ( diff < 0 ) diff *= -1; if ( diff < minV ) { border = true; objIsNotViewport = false; } } } } else { // not allday if ( tempItem->width() > 10 ) { int minH = tempItem->width()/4; - if ( minH > (blockmoveDist/2)-2 ) - minH = (blockmoveDist/2)-2; + if ( minH > (blockmoveDist/2)-2 ) { + if ( minH > blockmoveDist ) + minH = blockmoveDist; + else + minH = (blockmoveDist/2); + } bool border = false; int diff = tempItem->x() - viewportPos.x(); if ( diff < 0 ) diff *= -1; if ( diff < minH ) { border = true; objIsNotViewport = false; } if ( ! border ) { diff = tempItem->x() + tempItem->width() - viewportPos.x(); if ( diff < 0 ) diff *= -1; if ( diff < minH ) { border = true; objIsNotViewport = false; } |