summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--korganizer/koagenda.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/korganizer/koagenda.cpp b/korganizer/koagenda.cpp
index 8c2996b..dcb46a8 100644
--- a/korganizer/koagenda.cpp
+++ b/korganizer/koagenda.cpp
@@ -174,9 +174,9 @@ KOAgenda::KOAgenda(int columns,int rows,int rowSize,QWidget *parent,
mRows = rows;
mGridSpacingY = rowSize;
mAllDayMode = false;
#ifndef DESKTOP_VERSION
- QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold );
+ //QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold );
#endif
mHolidayMask = 0;
init();
}
@@ -398,12 +398,16 @@ bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me)
static int blockmoveDist = ( QApplication::desktop()->width() < 480 ? 15 : 20 );
static bool blockMoving = true;
static bool leftMouseDown = false;
static bool rightMouseDown = false;
+ static QTime rightClickTime;
+ bool rightButtonPressed = false;
switch (me->type()) {
case QEvent::MouseButtonPress:
- if (me->button() == LeftButton)
+ rightClickTime.restart();
+ if (me->button() == LeftButton) {
leftMouseDown = true;
+ }
else if (me->button() == RightButton)
rightMouseDown = true;
blockMoving = true;
startX = viewportPos.x();
@@ -445,10 +449,12 @@ bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me)
}
break;
case QEvent::MouseButtonRelease:
+ if ( rightClickTime.elapsed() > 700 && blockMoving )
+ rightButtonPressed = true;
if (object != viewport()) {
- if (me->button() == RightButton) {
+ if (me->button() == RightButton || rightButtonPressed ) {
if ( blockMoving ) {
mClickedItem = (KOAgendaItem *)object;
if (mActionItem ) {
endItemAction();
@@ -472,16 +478,17 @@ bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me)
setCursor( arrowCursor );
mActionItem = 0;
mActionType = NOP;
mItemMoved = 0;
+ leftMouseDown = false;
return true;
}
endItemAction();
}
}
} else { // ---------- viewport()
- if (me->button() == RightButton) { //right click
+ if (me->button() == RightButton || rightButtonPressed ) { //right click
if ( blockMoving ) { // we did mot moved the mouse much - popup menu
if ( leftMouseDown ) { // we have a simulated right click - clear left mouse action
endSelectAction( false ); // do not emit new event signal
leftMouseDown = false; // no more leftMouse computation