-rw-r--r-- | korganizer/koagenda.cpp | 77 | ||||
-rw-r--r-- | korganizer/koagendaitem.cpp | 2 | ||||
-rw-r--r-- | korganizer/kolistview.cpp | 46 | ||||
-rw-r--r-- | korganizer/kolistview.h | 2 | ||||
-rw-r--r-- | korganizer/komonthview.cpp | 11 |
5 files changed, 48 insertions, 90 deletions
diff --git a/korganizer/koagenda.cpp b/korganizer/koagenda.cpp index 2820ca2..66ad4ec 100644 --- a/korganizer/koagenda.cpp +++ b/korganizer/koagenda.cpp | |||
@@ -175,7 +175,7 @@ KOAgenda::KOAgenda(int columns,int rows,int rowSize,QWidget *parent, | |||
175 | mGridSpacingY = rowSize; | 175 | mGridSpacingY = rowSize; |
176 | mAllDayMode = false; | 176 | mAllDayMode = false; |
177 | #ifndef DESKTOP_VERSION | 177 | #ifndef DESKTOP_VERSION |
178 | //QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold ); | 178 | QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold ); |
179 | #endif | 179 | #endif |
180 | mHolidayMask = 0; | 180 | mHolidayMask = 0; |
181 | init(); | 181 | init(); |
@@ -398,26 +398,30 @@ bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me) | |||
398 | static int blockmoveDist = ( QApplication::desktop()->width() < 480 ? 15 : 20 ); | 398 | static int blockmoveDist = ( QApplication::desktop()->width() < 480 ? 15 : 20 ); |
399 | static bool blockMoving = true; | 399 | static bool blockMoving = true; |
400 | static bool leftMouseDown = false; | 400 | static bool leftMouseDown = false; |
401 | static bool rightMouseDown = false; | ||
402 | static QTime rightClickTime; | ||
403 | bool rightButtonPressed = false; | 401 | bool rightButtonPressed = false; |
404 | switch (me->type()) { | 402 | switch (me->type()) { |
405 | case QEvent::MouseButtonPress: | 403 | case QEvent::MouseButtonPress: |
406 | rightClickTime.restart(); | ||
407 | if (me->button() == LeftButton) { | 404 | if (me->button() == LeftButton) { |
408 | leftMouseDown = true; | 405 | leftMouseDown = true; |
409 | } | 406 | } |
410 | else if (me->button() == RightButton) | 407 | else if (me->button() == RightButton) { |
411 | rightMouseDown = true; | 408 | leftMouseDown = false; |
409 | } | ||
412 | blockMoving = true; | 410 | blockMoving = true; |
413 | startX = viewportPos.x(); | 411 | startX = viewportPos.x(); |
414 | startY = viewportPos.y(); | 412 | startY = viewportPos.y(); |
415 | if (object != viewport()) { | 413 | if (object != viewport()) { // item clicked ************** |
416 | if (me->button() == RightButton) { | 414 | if (me->button() == RightButton) { |
415 | leftMouseDown = false; | ||
417 | mClickedItem = (KOAgendaItem *)object; | 416 | mClickedItem = (KOAgendaItem *)object; |
417 | if (mActionItem ) { | ||
418 | endItemAction(); | ||
419 | } | ||
418 | if (mClickedItem) { | 420 | if (mClickedItem) { |
419 | selectItem(mClickedItem); | 421 | selectItem(mClickedItem); |
420 | } | 422 | emit showIncidencePopupSignal(mClickedItem->incidence()); |
423 | } | ||
424 | return true; | ||
421 | } else if (me->button() == LeftButton) { | 425 | } else if (me->button() == LeftButton) { |
422 | mActionItem = (KOAgendaItem *)object; | 426 | mActionItem = (KOAgendaItem *)object; |
423 | if (mActionItem) { | 427 | if (mActionItem) { |
@@ -445,27 +449,29 @@ bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me) | |||
445 | if (me->button() == LeftButton ) { | 449 | if (me->button() == LeftButton ) { |
446 | setCursor(arrowCursor); | 450 | setCursor(arrowCursor); |
447 | startSelectAction(viewportPos); | 451 | startSelectAction(viewportPos); |
452 | } else if (me->button() == RightButton ) { | ||
453 | setCursor(arrowCursor); | ||
454 | if ( leftMouseDown ) { // we have a simulated right click - clear left mouse action | ||
455 | endSelectAction( false ); // do not emit new event signal | ||
456 | leftMouseDown = false; // no more leftMouse computation | ||
457 | } | ||
458 | int x,y; | ||
459 | viewportToContents(viewportPos.x(),viewportPos.y(),x,y); | ||
460 | int gx,gy; | ||
461 | contentsToGrid(x,y,gx,gy); | ||
462 | mCurrentCellX = gx; | ||
463 | mCurrentCellY = gy; | ||
464 | mStartCellX = gx; | ||
465 | mStartCellY = gy; | ||
466 | mNewItemPopup->popup( viewport()->mapToGlobal( me->pos() ) ); | ||
448 | } | 467 | } |
449 | } | 468 | } |
450 | break; | 469 | break; |
451 | 470 | ||
452 | case QEvent::MouseButtonRelease: | 471 | case QEvent::MouseButtonRelease: |
453 | if ( rightClickTime.elapsed() > 500 && blockMoving ) | 472 | |
454 | rightButtonPressed = true; | ||
455 | if (object != viewport()) { | 473 | if (object != viewport()) { |
456 | if (me->button() == RightButton || rightButtonPressed ) { | 474 | if (me->button() == LeftButton && leftMouseDown) { |
457 | if ( blockMoving ) { | ||
458 | mClickedItem = (KOAgendaItem *)object; | ||
459 | if (mActionItem ) { | ||
460 | endItemAction(); | ||
461 | } | ||
462 | leftMouseDown = false; // no more leftMouse computation | ||
463 | if (mClickedItem) { | ||
464 | selectItem(mClickedItem); | ||
465 | emit showIncidencePopupSignal(mClickedItem->incidence()); | ||
466 | } | ||
467 | } | ||
468 | } else if (me->button() == LeftButton && leftMouseDown) { | ||
469 | if (mActionItem) { | 475 | if (mActionItem) { |
470 | QPoint clipperPos = clipper()->mapFromGlobal(viewport()->mapToGlobal(viewportPos)); | 476 | QPoint clipperPos = clipper()->mapFromGlobal(viewport()->mapToGlobal(viewportPos)); |
471 | //qDebug(" %d %d %d ",clipperPos.y(),visibleHeight() , 9 ); | 477 | //qDebug(" %d %d %d ",clipperPos.y(),visibleHeight() , 9 ); |
@@ -487,35 +493,17 @@ bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me) | |||
487 | } | 493 | } |
488 | 494 | ||
489 | } else { // ---------- viewport() | 495 | } else { // ---------- viewport() |
490 | if (me->button() == RightButton || rightButtonPressed ) { //right click | 496 | if (me->button() == LeftButton && leftMouseDown ) { //left click |
491 | if ( blockMoving ) { // we did mot moved the mouse much - popup menu | ||
492 | if ( leftMouseDown ) { // we have a simulated right click - clear left mouse action | ||
493 | endSelectAction( false ); // do not emit new event signal | ||
494 | leftMouseDown = false; // no more leftMouse computation | ||
495 | } | ||
496 | int x,y; | ||
497 | viewportToContents(viewportPos.x(),viewportPos.y(),x,y); | ||
498 | int gx,gy; | ||
499 | contentsToGrid(x,y,gx,gy); | ||
500 | mCurrentCellX = gx; | ||
501 | mCurrentCellY = gy; | ||
502 | mStartCellX = gx; | ||
503 | mStartCellY = gy; | ||
504 | mNewItemPopup->popup( viewport()->mapToGlobal( me->pos() ) ); | ||
505 | } | ||
506 | } | ||
507 | else if (me->button() == LeftButton && leftMouseDown ) { //left click | ||
508 | endSelectAction( true ); // emit new event signal | 497 | endSelectAction( true ); // emit new event signal |
509 | } | 498 | } |
510 | } | 499 | } |
511 | if (me->button() == LeftButton) | 500 | if (me->button() == LeftButton) |
512 | leftMouseDown = false; | 501 | leftMouseDown = false; |
513 | else if (me->button() == RightButton) | 502 | |
514 | rightMouseDown = false; | ||
515 | break; | 503 | break; |
516 | 504 | ||
517 | case QEvent::MouseMove: | 505 | case QEvent::MouseMove: |
518 | if ( !rightMouseDown && !leftMouseDown ) | 506 | if ( !leftMouseDown ) |
519 | return true; | 507 | return true; |
520 | if ( blockMoving ) { | 508 | if ( blockMoving ) { |
521 | int dX, dY; | 509 | int dX, dY; |
@@ -550,7 +538,6 @@ bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me) | |||
550 | case QEvent::MouseButtonDblClick: | 538 | case QEvent::MouseButtonDblClick: |
551 | blockMoving = false; | 539 | blockMoving = false; |
552 | leftMouseDown = false; | 540 | leftMouseDown = false; |
553 | rightMouseDown = false; | ||
554 | if (object == viewport()) { | 541 | if (object == viewport()) { |
555 | selectItem(0); | 542 | selectItem(0); |
556 | int x,y; | 543 | int x,y; |
diff --git a/korganizer/koagendaitem.cpp b/korganizer/koagendaitem.cpp index b30ad75..905c1bf 100644 --- a/korganizer/koagendaitem.cpp +++ b/korganizer/koagendaitem.cpp | |||
@@ -75,7 +75,7 @@ KOAgendaItem::KOAgendaItem(Incidence *incidence, QDate qd, QWidget *parent,bool | |||
75 | QWidget(parent, name), mIncidence(incidence), mDate(qd) | 75 | QWidget(parent, name), mIncidence(incidence), mDate(qd) |
76 | { | 76 | { |
77 | #ifndef DESKTOP_VERSION | 77 | #ifndef DESKTOP_VERSION |
78 | //QPEApplication::setStylusOperation( this, QPEApplication::RightOnHold ); | 78 | QPEApplication::setStylusOperation( this, QPEApplication::RightOnHold ); |
79 | #endif | 79 | #endif |
80 | mKOAgendaItemWhatsThis = new KOAgendaItemWhatsThis(this); | 80 | mKOAgendaItemWhatsThis = new KOAgendaItemWhatsThis(this); |
81 | int wflags = getWFlags() |WRepaintNoErase;// WResizeNoErase | 81 | int wflags = getWFlags() |WRepaintNoErase;// WResizeNoErase |
diff --git a/korganizer/kolistview.cpp b/korganizer/kolistview.cpp index 3519985..6b63d7f 100644 --- a/korganizer/kolistview.cpp +++ b/korganizer/kolistview.cpp | |||
@@ -308,7 +308,7 @@ KOListView::KOListView(Calendar *calendar, QWidget *parent, | |||
308 | this,SIGNAL(signalNewEvent())); | 308 | this,SIGNAL(signalNewEvent())); |
309 | QObject::connect(mListView,SIGNAL(doubleClicked(QListViewItem *)), | 309 | QObject::connect(mListView,SIGNAL(doubleClicked(QListViewItem *)), |
310 | this,SLOT(defaultItemAction(QListViewItem *))); | 310 | this,SLOT(defaultItemAction(QListViewItem *))); |
311 | QObject::connect(mListView,SIGNAL(rightButtonClicked ( QListViewItem *, | 311 | QObject::connect(mListView,SIGNAL(rightButtonPressed( QListViewItem *, |
312 | const QPoint &, int )), | 312 | const QPoint &, int )), |
313 | this,SLOT(popupMenu(QListViewItem *,const QPoint &,int))); | 313 | this,SLOT(popupMenu(QListViewItem *,const QPoint &,int))); |
314 | QObject::connect(mListView,SIGNAL(currentChanged(QListViewItem *)), | 314 | QObject::connect(mListView,SIGNAL(currentChanged(QListViewItem *)), |
@@ -1159,12 +1159,8 @@ KOListViewListView::KOListViewListView(KOListView * lv ) | |||
1159 | #ifndef DESKTOP_VERSION | 1159 | #ifndef DESKTOP_VERSION |
1160 | QPEApplication::setStylusOperation(viewport(), QPEApplication::RightOnHold ); | 1160 | QPEApplication::setStylusOperation(viewport(), QPEApplication::RightOnHold ); |
1161 | #endif | 1161 | #endif |
1162 | mYMousePos = -1000; | ||
1163 | setSelectionMode( QListView::Multi ); | 1162 | setSelectionMode( QListView::Multi ); |
1164 | setMultiSelection( true); | 1163 | setMultiSelection( true); |
1165 | mAllowPopupMenu = true; | ||
1166 | mMouseDown = false; | ||
1167 | |||
1168 | } | 1164 | } |
1169 | void KOListViewListView::contentsMouseDoubleClickEvent(QMouseEvent *e) | 1165 | void KOListViewListView::contentsMouseDoubleClickEvent(QMouseEvent *e) |
1170 | { | 1166 | { |
@@ -1178,50 +1174,22 @@ void KOListViewListView::contentsMouseDoubleClickEvent(QMouseEvent *e) | |||
1178 | KListView::contentsMouseDoubleClickEvent(e); | 1174 | KListView::contentsMouseDoubleClickEvent(e); |
1179 | } | 1175 | } |
1180 | 1176 | ||
1181 | |||
1182 | void KOListViewListView::contentsMousePressEvent(QMouseEvent *e) | 1177 | void KOListViewListView::contentsMousePressEvent(QMouseEvent *e) |
1183 | { | 1178 | { |
1184 | //qDebug("contentsMousePressEvent++++ "); | 1179 | //qDebug("contentsMousePressEvent++++ "); |
1185 | if (! mMouseDown ) { | ||
1186 | mAllowPopupMenu = true; | ||
1187 | mYMousePos = mapToGlobal( (e->pos())).y(); | ||
1188 | } | ||
1189 | if ( e->button() == RightButton && mMouseDown ) | ||
1190 | return; | ||
1191 | if ( e->button() == LeftButton ) | ||
1192 | mMouseDown = true; | ||
1193 | KListView::contentsMousePressEvent( e ); | 1180 | KListView::contentsMousePressEvent( e ); |
1181 | if ( e->button() == RightButton ) { | ||
1182 | QListViewItem* ci = currentItem(); | ||
1183 | clearSelection () ; | ||
1184 | if ( ci ) | ||
1185 | ci->setSelected( true ); | ||
1186 | } | ||
1194 | } | 1187 | } |
1195 | void KOListViewListView::contentsMouseReleaseEvent(QMouseEvent *e) | 1188 | void KOListViewListView::contentsMouseReleaseEvent(QMouseEvent *e) |
1196 | { | 1189 | { |
1197 | //qDebug("contentsMouseReleaseEv---- "); | ||
1198 | if ( ! mMouseDown ) { | ||
1199 | if ( e->button() == RightButton && ! mAllowPopupMenu ) | ||
1200 | return; | ||
1201 | QListViewItem* ci = currentItem(); | ||
1202 | if ( ci ) | ||
1203 | ci->setSelected( true ); | ||
1204 | KListView::contentsMouseReleaseEvent(e); | ||
1205 | return; | ||
1206 | } | ||
1207 | if ( e->button() == LeftButton ) | ||
1208 | mMouseDown = false; | ||
1209 | if ( e->button() == RightButton && ! mAllowPopupMenu ) | ||
1210 | return; | ||
1211 | if ( e->button() == RightButton ) { | ||
1212 | QListViewItem* ci = currentItem(); | ||
1213 | if ( ci ) | ||
1214 | ci->setSelected( true ); | ||
1215 | } | ||
1216 | KListView::contentsMouseReleaseEvent(e); | 1190 | KListView::contentsMouseReleaseEvent(e); |
1217 | } | 1191 | } |
1218 | void KOListViewListView::contentsMouseMoveEvent(QMouseEvent *e) | 1192 | void KOListViewListView::contentsMouseMoveEvent(QMouseEvent *e) |
1219 | { | 1193 | { |
1220 | // qDebug("contentsMouseMoveEv....... "); | ||
1221 | // qDebug("start: %d current %d ",mYMousePos , mapToGlobal( (e->pos())).y() ); | ||
1222 | int diff = mYMousePos - mapToGlobal( (e->pos())).y(); | ||
1223 | if ( diff < 0 ) diff = -diff; | ||
1224 | if ( diff > 20 ) | ||
1225 | mAllowPopupMenu = false; | ||
1226 | KListView::contentsMouseMoveEvent(e); | 1194 | KListView::contentsMouseMoveEvent(e); |
1227 | } | 1195 | } |
diff --git a/korganizer/kolistview.h b/korganizer/kolistview.h index 0d9c525..eca71e2 100644 --- a/korganizer/kolistview.h +++ b/korganizer/kolistview.h | |||
@@ -223,9 +223,7 @@ class KOListViewListView : public KListView | |||
223 | void contentsMousePressEvent(QMouseEvent *e); | 223 | void contentsMousePressEvent(QMouseEvent *e); |
224 | void contentsMouseReleaseEvent(QMouseEvent *e); | 224 | void contentsMouseReleaseEvent(QMouseEvent *e); |
225 | void contentsMouseMoveEvent(QMouseEvent *e); | 225 | void contentsMouseMoveEvent(QMouseEvent *e); |
226 | bool mAllowPopupMenu; | ||
227 | bool mMouseDown; | 226 | bool mMouseDown; |
228 | int mYMousePos; | ||
229 | }; | 227 | }; |
230 | 228 | ||
231 | class KOListView : public KOEventView | 229 | class KOListView : public KOEventView |
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp index 12233ee..9085775 100644 --- a/korganizer/komonthview.cpp +++ b/korganizer/komonthview.cpp | |||
@@ -514,6 +514,11 @@ void MonthViewCell::startUpdateCell() | |||
514 | mitem->setBlockRepaint( true ); | 514 | mitem->setBlockRepaint( true ); |
515 | mitem = (MonthViewItem *)mitem->next(); | 515 | mitem = (MonthViewItem *)mitem->next(); |
516 | } | 516 | } |
517 | if ( mAvailItemList.count() > 20 ) { | ||
518 | mAvailItemList.setAutoDelete( true ); | ||
519 | mAvailItemList.clear(); | ||
520 | mAvailItemList.setAutoDelete( false ); | ||
521 | } | ||
517 | /* | 522 | /* |
518 | if ( !isVisible() ){ | 523 | if ( !isVisible() ){ |
519 | return; | 524 | return; |
@@ -817,14 +822,14 @@ void MonthViewCell::updateConfig( bool bigFont ) // = false | |||
817 | void MonthViewCell::enableScrollBars( bool enabled ) | 822 | void MonthViewCell::enableScrollBars( bool enabled ) |
818 | { | 823 | { |
819 | if ( enabled ) { | 824 | if ( enabled ) { |
820 | |||
821 | QListBoxItem *fi = firstItem (); | 825 | QListBoxItem *fi = firstItem (); |
822 | if (fi ) { | 826 | if (fi ) { |
823 | int ihei = fi->height( this ); | 827 | int ihei = fi->height( this ); |
824 | int hei = numRows () * ihei; | 828 | int hei = numRows () * ihei; |
825 | if ( hei < height() - horizontalScrollBar()->height () ) | 829 | if ( hei < height() - horizontalScrollBar()->height () ) { |
826 | setVScrollBarMode(QScrollView::AlwaysOff); | 830 | setVScrollBarMode(QScrollView::AlwaysOff); |
827 | else | 831 | } |
832 | else | ||
828 | setVScrollBarMode(QScrollView::Auto); | 833 | setVScrollBarMode(QScrollView::Auto); |
829 | if ( ihei *3 > height() ) | 834 | if ( ihei *3 > height() ) |
830 | setHScrollBarMode(QScrollView::AlwaysOff); | 835 | setHScrollBarMode(QScrollView::AlwaysOff); |