summaryrefslogtreecommitdiffabout
path: root/korganizer
authorzautrix <zautrix>2005-06-28 11:19:58 (UTC)
committer zautrix <zautrix>2005-06-28 11:19:58 (UTC)
commit5861dc779cce151b7a05f3295ca11ffbf39e5a20 (patch) (side-by-side diff)
treef9d2a06cd171f4269e7597fbc44afb76b8ff76b1 /korganizer
parentc26c9e0aa8c8a3b1d3e8dba018d56dbdb67c65b4 (diff)
downloadkdepimpi-5861dc779cce151b7a05f3295ca11ffbf39e5a20.zip
kdepimpi-5861dc779cce151b7a05f3295ca11ffbf39e5a20.tar.gz
kdepimpi-5861dc779cce151b7a05f3295ca11ffbf39e5a20.tar.bz2
fix
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koagenda.cpp16
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
@@ -447,89 +447,97 @@ bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me)
mAllAgendaPopup->hide();
}
}
return true;
}
QPoint viewportPos;
if (object != viewport()) {
blockmoveDist = blockmoveDist*2;
viewportPos = ((QWidget *)object)->mapToParent(me->pos());
} else {
viewportPos = me->pos();
}
bool objIsNotViewport = (object != viewport());
bool leftButt = false;
#ifdef DESKTOP_VERSION
leftButt = (me->button() == LeftButton);
#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;
}
}
}
}
}
if ( objIsNotViewport ) {
mPopupItem = (KOAgendaItem *)object;
mPopupKind = 1;
if (me->button() == RightButton) {
mPopupKind = 3;
popupMenu();
} else if (me->button() == LeftButton) {
mActionItem = (KOAgendaItem *)object;
if (mActionItem) {
emit signalClearSelection();
slotClearSelection();
selectItem(mActionItem);