summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koagenda.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/korganizer/koagenda.cpp b/korganizer/koagenda.cpp
index 9720f43..deadfc9 100644
--- a/korganizer/koagenda.cpp
+++ b/korganizer/koagenda.cpp
@@ -321,386 +321,387 @@ void KOAgenda::init()
321void KOAgenda::clear() 321void KOAgenda::clear()
322{ 322{
323 KOAgendaItem *item; 323 KOAgendaItem *item;
324 for ( item=mItems.first(); item != 0; item=mItems.next() ) { 324 for ( item=mItems.first(); item != 0; item=mItems.next() ) {
325 mUnusedItems.append( item ); 325 mUnusedItems.append( item );
326 //item->hide(); 326 //item->hide();
327 } 327 }
328 mItems.clear(); 328 mItems.clear();
329 mSelectedItem = 0; 329 mSelectedItem = 0;
330 clearSelection(); 330 clearSelection();
331} 331}
332 332
333void KOAgenda::clearSelection() 333void KOAgenda::clearSelection()
334{ 334{
335 mSelectionCellX = 0; 335 mSelectionCellX = 0;
336 mSelectionYTop = 0; 336 mSelectionYTop = 0;
337 mSelectionHeight = 0; 337 mSelectionHeight = 0;
338} 338}
339 339
340void KOAgenda::marcus_bains() 340void KOAgenda::marcus_bains()
341{ 341{
342 if(mMarcusBains) mMarcusBains->updateLocation(true); 342 if(mMarcusBains) mMarcusBains->updateLocation(true);
343} 343}
344 344
345 345
346void KOAgenda::changeColumns(int columns) 346void KOAgenda::changeColumns(int columns)
347{ 347{
348 if (columns == 0) { 348 if (columns == 0) {
349 qDebug("KOAgenda::changeColumns() called with argument 0 "); 349 qDebug("KOAgenda::changeColumns() called with argument 0 ");
350 return; 350 return;
351 } 351 }
352 clear(); 352 clear();
353 mColumns = columns; 353 mColumns = columns;
354 computeSizes(); 354 computeSizes();
355} 355}
356 356
357/* 357/*
358 This is the eventFilter function, which gets all events from the KOAgendaItems 358 This is the eventFilter function, which gets all events from the KOAgendaItems
359 contained in the agenda. It has to handle moving and resizing for all items. 359 contained in the agenda. It has to handle moving and resizing for all items.
360*/ 360*/
361bool KOAgenda::eventFilter ( QObject *object, QEvent *event ) 361bool KOAgenda::eventFilter ( QObject *object, QEvent *event )
362{ 362{
363 // kdDebug() << "KOAgenda::eventFilter" << endl; 363 // kdDebug() << "KOAgenda::eventFilter" << endl;
364 switch(event->type()) { 364 switch(event->type()) {
365 case QEvent::MouseButtonPress: 365 case QEvent::MouseButtonPress:
366 case QEvent::MouseButtonDblClick: 366 case QEvent::MouseButtonDblClick:
367 case QEvent::MouseButtonRelease: 367 case QEvent::MouseButtonRelease:
368 case QEvent::MouseMove: 368 case QEvent::MouseMove:
369 return eventFilter_mouse(object, static_cast<QMouseEvent *>(event)); 369 return eventFilter_mouse(object, static_cast<QMouseEvent *>(event));
370 370
371 case (QEvent::Leave): 371 case (QEvent::Leave):
372 if (!mActionItem) 372 if (!mActionItem)
373 setCursor(arrowCursor); 373 setCursor(arrowCursor);
374 return true; 374 return true;
375 375
376 default: 376 default:
377 return QScrollView::eventFilter(object,event); 377 return QScrollView::eventFilter(object,event);
378 } 378 }
379} 379}
380void KOAgenda::popupMenu() 380void KOAgenda::popupMenu()
381{ 381{
382 mPopupTimer->stop(); 382 mPopupTimer->stop();
383 if ( mPopupKind == 1 ) { 383 if ( mPopupKind == 1 ) {
384 if (mActionItem ) { 384 if (mActionItem ) {
385 endItemAction(); 385 endItemAction();
386 } 386 }
387 mLeftMouseDown = false; // no more leftMouse computation 387 mLeftMouseDown = false; // no more leftMouse computation
388 if (mPopupItem) { 388 if (mPopupItem) {
389 selectItem(mPopupItem); 389 selectItem(mPopupItem);
390 emit showIncidencePopupSignal(mPopupItem->incidence()); 390 emit showIncidencePopupSignal(mPopupItem->incidence());
391 391
392 } 392 }
393 } else if ( mPopupKind == 2 ) { 393 } else if ( mPopupKind == 2 ) {
394 if ( mLeftMouseDown ) { // we have a simulated right click - clear left mouse action 394 if ( mLeftMouseDown ) { // we have a simulated right click - clear left mouse action
395 endSelectAction( false ); // do not emit new event signal 395 endSelectAction( false ); // do not emit new event signal
396 mLeftMouseDown = false; // no more leftMouse computation 396 mLeftMouseDown = false; // no more leftMouse computation
397 } 397 }
398 mNewItemPopup->popup( mPopupPos); 398 mNewItemPopup->popup( mPopupPos);
399 } 399 }
400 mLeftMouseDown = false; 400 mLeftMouseDown = false;
401 mPopupItem = 0; 401 mPopupItem = 0;
402 mPopupKind = 0; 402 mPopupKind = 0;
403} 403}
404 404
405bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me) 405bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me)
406{ 406{
407 //qDebug("KOAgenda::eventFilter_mous "); 407 //qDebug("KOAgenda::eventFilter_mous ");
408 QPoint viewportPos; 408 QPoint viewportPos;
409 if (object != viewport()) { 409 if (object != viewport()) {
410 viewportPos = ((QWidget *)object)->mapToParent(me->pos()); 410 viewportPos = ((QWidget *)object)->mapToParent(me->pos());
411 } else { 411 } else {
412 viewportPos = me->pos(); 412 viewportPos = me->pos();
413 } 413 }
414 static int startX = 0; 414 static int startX = 0;
415 static int startY = 0; 415 static int startY = 0;
416 static int blockmoveDist = ( QApplication::desktop()->width() < 480 ? 15 : 20 ); 416 static int blockmoveDist = ( QApplication::desktop()->width() < 480 ? 15 : 20 );
417 static bool blockMoving = true; 417 static bool blockMoving = true;
418 switch (me->type()) { 418 switch (me->type()) {
419 case QEvent::MouseButtonPress: 419 case QEvent::MouseButtonPress:
420 if (me->button() == LeftButton) { 420 if (me->button() == LeftButton) {
421 mPopupTimer->start( 600 ); 421 mPopupTimer->start( 600 );
422 mLeftMouseDown = true; 422 mLeftMouseDown = true;
423 } 423 }
424 blockMoving = true; 424 blockMoving = true;
425 startX = viewportPos.x(); 425 startX = viewportPos.x();
426 startY = viewportPos.y(); 426 startY = viewportPos.y();
427 if (object != viewport()) { 427 if (object != viewport()) {
428 mPopupItem = (KOAgendaItem *)object; 428 mPopupItem = (KOAgendaItem *)object;
429 mPopupKind = 1; 429 mPopupKind = 1;
430 if (me->button() == RightButton) { 430 if (me->button() == RightButton) {
431 popupMenu(); 431 popupMenu();
432 } else if (me->button() == LeftButton) { 432 } else if (me->button() == LeftButton) {
433 mActionItem = (KOAgendaItem *)object; 433 mActionItem = (KOAgendaItem *)object;
434 if (mActionItem) { 434 if (mActionItem) {
435 if ( mSelectionHeight > 0 ) { 435 if ( mSelectionHeight > 0 ) {
436 int selectionCellX = mSelectionCellX * mGridSpacingX; 436 int selectionCellX = mSelectionCellX * mGridSpacingX;
437 int selectionYTop = mSelectionYTop; 437 int selectionYTop = mSelectionYTop;
438 int gridSpacingX = mGridSpacingX; 438 int gridSpacingX = mGridSpacingX;
439 int selectionHeight = mSelectionHeight; 439 int selectionHeight = mSelectionHeight;
440 clearSelection(); 440 clearSelection();
441 repaintContents( selectionCellX, selectionYTop, 441 repaintContents( selectionCellX, selectionYTop,
442 gridSpacingX, selectionHeight,false ); 442 gridSpacingX, selectionHeight,false );
443 } 443 }
444 selectItem(mActionItem); 444 selectItem(mActionItem);
445 Incidence *incidence = mActionItem->incidence(); 445 Incidence *incidence = mActionItem->incidence();
446 if ( incidence->isReadOnly() /*|| incidence->recurrence()->doesRecur() */) { 446 if ( incidence->isReadOnly() /*|| incidence->recurrence()->doesRecur() */) {
447 mActionItem = 0; 447 mActionItem = 0;
448 } else { 448 } else {
449 startItemAction(viewportPos); 449 startItemAction(viewportPos);
450 } 450 }
451 } 451 }
452 } 452 }
453 } else { // ---------- viewport() 453 } else { // ---------- viewport()
454 mPopupItem = 0; 454 mPopupItem = 0;
455 mPopupKind = 2; 455 mPopupKind = 2;
456 selectItem(0); 456 selectItem(0);
457 mActionItem = 0; 457 mActionItem = 0;
458 mPopupPos = viewport()->mapToGlobal( me->pos() ); 458 mPopupPos = viewport()->mapToGlobal( me->pos() );
459 if (me->button() == RightButton) { 459 if (me->button() == RightButton) {
460 int x,y; 460 int x,y;
461 viewportToContents(viewportPos.x(),viewportPos.y(),x,y); 461 viewportToContents(viewportPos.x(),viewportPos.y(),x,y);
462 int gx,gy; 462 int gx,gy;
463 contentsToGrid(x,y,gx,gy); 463 contentsToGrid(x,y,gx,gy);
464 mCurrentCellX = gx; 464 mCurrentCellX = gx;
465 mCurrentCellY = gy; 465 mCurrentCellY = gy;
466 mStartCellX = gx; 466 mStartCellX = gx;
467 mStartCellY = gy; 467 mStartCellY = gy;
468 popupMenu(); 468 popupMenu();
469 } else if (me->button() == LeftButton) { 469 } else if (me->button() == LeftButton) {
470 setCursor(arrowCursor); 470 setCursor(arrowCursor);
471 startSelectAction(viewportPos); 471 startSelectAction(viewportPos);
472 } 472 }
473 } 473 }
474 break; 474 break;
475 475
476 case QEvent::MouseButtonRelease: 476 case QEvent::MouseButtonRelease:
477 if (me->button() == LeftButton ) { 477 if (me->button() == LeftButton ) {
478 mPopupTimer->stop(); 478 mPopupTimer->stop();
479 } 479 }
480 if (object != viewport()) { 480 if (object != viewport()) {
481 if (me->button() == LeftButton && mLeftMouseDown) { 481 if (me->button() == LeftButton && mLeftMouseDown) {
482 if (mActionItem) { 482 if (mActionItem) {
483 QPoint clipperPos = clipper()->mapFromGlobal(viewport()->mapToGlobal(viewportPos)); 483 QPoint clipperPos = clipper()->mapFromGlobal(viewport()->mapToGlobal(viewportPos));
484 //qDebug(" %d %d %d ",clipperPos.y(),visibleHeight() , 9 ); 484 //qDebug(" %d %d %d ",clipperPos.y(),visibleHeight() , 9 );
485 if ( mActionType == MOVE && (clipperPos.y() > visibleHeight()-2 ||clipperPos.y() < 0 ) ) { 485 if ( mActionType == MOVE && (clipperPos.y() > visibleHeight()-2 ||clipperPos.y() < 0 ) ) {
486 mScrollUpTimer.stop(); 486 mScrollUpTimer.stop();
487 mScrollDownTimer.stop(); 487 mScrollDownTimer.stop();
488 mActionItem->resetMove(); 488 mActionItem->resetMove();
489 placeSubCells( mActionItem ); 489 placeSubCells( mActionItem );
490 // emit startDragSignal( mActionItem->incidence() ); 490 // emit startDragSignal( mActionItem->incidence() );
491 setCursor( arrowCursor ); 491 setCursor( arrowCursor );
492 mActionItem = 0; 492 mActionItem = 0;
493 mActionType = NOP; 493 mActionType = NOP;
494 mItemMoved = 0; 494 mItemMoved = 0;
495 mLeftMouseDown = false; 495 mLeftMouseDown = false;
496 return true; 496 return true;
497 } 497 }
498 endItemAction(); 498 endItemAction();
499 } 499 }
500 } 500 }
501 501
502 } else { // ---------- viewport() 502 } else { // ---------- viewport()
503 if (me->button() == LeftButton && mLeftMouseDown ) { //left click 503 if (me->button() == LeftButton && mLeftMouseDown ) { //left click
504 endSelectAction( true ); // emit new event signal 504 endSelectAction( true ); // emit new event signal
505 } 505 }
506 } 506 }
507 if (me->button() == LeftButton) 507 if (me->button() == LeftButton)
508 mLeftMouseDown = false; 508 mLeftMouseDown = false;
509 509
510 break; 510 break;
511 511
512 case QEvent::MouseMove: 512 case QEvent::MouseMove:
513 //qDebug("mm ");
513 if ( !mLeftMouseDown ) 514 if ( !mLeftMouseDown )
514 return true; 515 return false;
515 if ( blockMoving ) { 516 if ( blockMoving ) {
516 int dX, dY; 517 int dX, dY;
517 dX = startX - viewportPos.x(); 518 dX = startX - viewportPos.x();
518 if ( dX < 0 ) 519 if ( dX < 0 )
519 dX = -dX; 520 dX = -dX;
520 dY = viewportPos.y() - startY; 521 dY = viewportPos.y() - startY;
521 if ( dY < 0 ) 522 if ( dY < 0 )
522 dY = -dY; 523 dY = -dY;
523 //qDebug("%d %d %d ", dX, dY , blockmoveDist ); 524 //qDebug("%d %d %d ", dX, dY , blockmoveDist );
524 if ( dX > blockmoveDist || dY > blockmoveDist ) { 525 if ( dX > blockmoveDist || dY > blockmoveDist ) {
525 blockMoving = false; 526 blockMoving = false;
526 } 527 }
527 } 528 }
528 if ( ! blockMoving ) 529 if ( ! blockMoving )
529 mPopupTimer->stop(); 530 mPopupTimer->stop();
530 if (object != viewport()) { 531 if (object != viewport()) {
531 KOAgendaItem *moveItem = (KOAgendaItem *)object; 532 KOAgendaItem *moveItem = (KOAgendaItem *)object;
532 if (!moveItem->incidence()->isReadOnly() ) { 533 if (!moveItem->incidence()->isReadOnly() ) {
533 if (!mActionItem) 534 if (!mActionItem)
534 setNoActionCursor(moveItem,viewportPos); 535 setNoActionCursor(moveItem,viewportPos);
535 else { 536 else {
536 if ( !blockMoving ) 537 if ( !blockMoving )
537 performItemAction(viewportPos); 538 performItemAction(viewportPos);
538 } 539 }
539 } 540 }
540 } else { // ---------- viewport() 541 } else { // ---------- viewport()
541 mPopupPos = viewport()->mapToGlobal( me->pos() ); 542 mPopupPos = viewport()->mapToGlobal( me->pos() );
542 if ( mActionType == SELECT ) { 543 if ( mActionType == SELECT ) {
543 performSelectAction( viewportPos ); 544 performSelectAction( viewportPos );
544 } 545 }
545 } 546 }
546 break; 547 break;
547 548
548 case QEvent::MouseButtonDblClick: 549 case QEvent::MouseButtonDblClick:
549 mPopupTimer->stop(); 550 mPopupTimer->stop();
550 if (object == viewport()) { 551 if (object == viewport()) {
551 selectItem(0); 552 selectItem(0);
552 int x,y; 553 int x,y;
553 viewportToContents(viewportPos.x(),viewportPos.y(),x,y); 554 viewportToContents(viewportPos.x(),viewportPos.y(),x,y);
554 int gx,gy; 555 int gx,gy;
555 contentsToGrid(x,y,gx,gy); 556 contentsToGrid(x,y,gx,gy);
556 emit newEventSignal(gx,gy); 557 emit newEventSignal(gx,gy);
557 } else { 558 } else {
558 KOAgendaItem *doubleClickedItem = (KOAgendaItem *)object; 559 KOAgendaItem *doubleClickedItem = (KOAgendaItem *)object;
559 selectItem(doubleClickedItem); 560 selectItem(doubleClickedItem);
560 if ( KOPrefs::instance()->mEditOnDoubleClick ) 561 if ( KOPrefs::instance()->mEditOnDoubleClick )
561 emit editIncidenceSignal(doubleClickedItem->incidence()); 562 emit editIncidenceSignal(doubleClickedItem->incidence());
562 else 563 else
563 emit showIncidenceSignal(doubleClickedItem->incidence()); 564 emit showIncidenceSignal(doubleClickedItem->incidence());
564 } 565 }
565 break; 566 break;
566 567
567 default: 568 default:
568 break; 569 break;
569 } 570 }
570 return true; 571 return true;
571#if 0 572#if 0
572 //qDebug("KOAgenda::eventFilter_mous "); 573 //qDebug("KOAgenda::eventFilter_mous ");
573 QPoint viewportPos; 574 QPoint viewportPos;
574 if (object != viewport()) { 575 if (object != viewport()) {
575 viewportPos = ((QWidget *)object)->mapToParent(me->pos()); 576 viewportPos = ((QWidget *)object)->mapToParent(me->pos());
576 } else { 577 } else {
577 viewportPos = me->pos(); 578 viewportPos = me->pos();
578 } 579 }
579 static int startX = 0; 580 static int startX = 0;
580 static int startY = 0; 581 static int startY = 0;
581 static int blockmoveDist = ( QApplication::desktop()->width() < 480 ? 15 : 20 ); 582 static int blockmoveDist = ( QApplication::desktop()->width() < 480 ? 15 : 20 );
582 static bool blockMoving = true; 583 static bool blockMoving = true;
583 static bool leftMouseDown = false; 584 static bool leftMouseDown = false;
584 bool rightButtonPressed = false; 585 bool rightButtonPressed = false;
585 switch (me->type()) { 586 switch (me->type()) {
586 case QEvent::MouseButtonPress: 587 case QEvent::MouseButtonPress:
587 if (me->button() == LeftButton) { 588 if (me->button() == LeftButton) {
588 leftMouseDown = true; 589 leftMouseDown = true;
589 } 590 }
590 else if (me->button() == RightButton) { 591 else if (me->button() == RightButton) {
591 leftMouseDown = false; 592 leftMouseDown = false;
592 } 593 }
593 blockMoving = true; 594 blockMoving = true;
594 startX = viewportPos.x(); 595 startX = viewportPos.x();
595 startY = viewportPos.y(); 596 startY = viewportPos.y();
596 if (object != viewport()) { // item clicked ************** 597 if (object != viewport()) { // item clicked **************
597 if (me->button() == RightButton) { 598 if (me->button() == RightButton) {
598 leftMouseDown = false; 599 leftMouseDown = false;
599 mClickedItem = (KOAgendaItem *)object; 600 mClickedItem = (KOAgendaItem *)object;
600 if (mActionItem ) { 601 if (mActionItem ) {
601 endItemAction(); 602 endItemAction();
602 } 603 }
603 if (mClickedItem) { 604 if (mClickedItem) {
604 selectItem(mClickedItem); 605 selectItem(mClickedItem);
605 emit showIncidencePopupSignal(mClickedItem->incidence()); 606 emit showIncidencePopupSignal(mClickedItem->incidence());
606 } 607 }
607 return true; 608 return true;
608 } else if (me->button() == LeftButton) { 609 } else if (me->button() == LeftButton) {
609 mActionItem = (KOAgendaItem *)object; 610 mActionItem = (KOAgendaItem *)object;
610 if (mActionItem) { 611 if (mActionItem) {
611 if ( mSelectionHeight > 0 ) { 612 if ( mSelectionHeight > 0 ) {
612 int selectionCellX = mSelectionCellX * mGridSpacingX; 613 int selectionCellX = mSelectionCellX * mGridSpacingX;
613 int selectionYTop = mSelectionYTop; 614 int selectionYTop = mSelectionYTop;
614 int gridSpacingX = mGridSpacingX; 615 int gridSpacingX = mGridSpacingX;
615 int selectionHeight = mSelectionHeight; 616 int selectionHeight = mSelectionHeight;
616 clearSelection(); 617 clearSelection();
617 repaintContents( selectionCellX, selectionYTop, 618 repaintContents( selectionCellX, selectionYTop,
618 gridSpacingX, selectionHeight,false ); 619 gridSpacingX, selectionHeight,false );
619 } 620 }
620 selectItem(mActionItem); 621 selectItem(mActionItem);
621 Incidence *incidence = mActionItem->incidence(); 622 Incidence *incidence = mActionItem->incidence();
622 if ( incidence->isReadOnly() /*|| incidence->recurrence()->doesRecur() */) { 623 if ( incidence->isReadOnly() /*|| incidence->recurrence()->doesRecur() */) {
623 mActionItem = 0; 624 mActionItem = 0;
624 } else { 625 } else {
625 startItemAction(viewportPos); 626 startItemAction(viewportPos);
626 } 627 }
627 } 628 }
628 } 629 }
629 } else { // ---------- viewport() 630 } else { // ---------- viewport()
630 selectItem(0); 631 selectItem(0);
631 mActionItem = 0; 632 mActionItem = 0;
632 if (me->button() == LeftButton ) { 633 if (me->button() == LeftButton ) {
633 setCursor(arrowCursor); 634 setCursor(arrowCursor);
634 startSelectAction(viewportPos); 635 startSelectAction(viewportPos);
635 } else if (me->button() == RightButton ) { 636 } else if (me->button() == RightButton ) {
636 setCursor(arrowCursor); 637 setCursor(arrowCursor);
637 if ( leftMouseDown ) { // we have a simulated right click - clear left mouse action 638 if ( leftMouseDown ) { // we have a simulated right click - clear left mouse action
638 endSelectAction( false ); // do not emit new event signal 639 endSelectAction( false ); // do not emit new event signal
639 leftMouseDown = false; // no more leftMouse computation 640 leftMouseDown = false; // no more leftMouse computation
640 } 641 }
641 int x,y; 642 int x,y;
642 viewportToContents(viewportPos.x(),viewportPos.y(),x,y); 643 viewportToContents(viewportPos.x(),viewportPos.y(),x,y);
643 int gx,gy; 644 int gx,gy;
644 contentsToGrid(x,y,gx,gy); 645 contentsToGrid(x,y,gx,gy);
645 mCurrentCellX = gx; 646 mCurrentCellX = gx;
646 mCurrentCellY = gy; 647 mCurrentCellY = gy;
647 mStartCellX = gx; 648 mStartCellX = gx;
648 mStartCellY = gy; 649 mStartCellY = gy;
649 mNewItemPopup->popup( viewport()->mapToGlobal( me->pos() ) ); 650 mNewItemPopup->popup( viewport()->mapToGlobal( me->pos() ) );
650 } 651 }
651 } 652 }
652 break; 653 break;
653 654
654 case QEvent::MouseButtonRelease: 655 case QEvent::MouseButtonRelease:
655 656
656 if (object != viewport()) { 657 if (object != viewport()) {
657 if (me->button() == LeftButton && leftMouseDown) { 658 if (me->button() == LeftButton && leftMouseDown) {
658 if (mActionItem) { 659 if (mActionItem) {
659 QPoint clipperPos = clipper()->mapFromGlobal(viewport()->mapToGlobal(viewportPos)); 660 QPoint clipperPos = clipper()->mapFromGlobal(viewport()->mapToGlobal(viewportPos));
660 //qDebug(" %d %d %d ",clipperPos.y(),visibleHeight() , 9 ); 661 //qDebug(" %d %d %d ",clipperPos.y(),visibleHeight() , 9 );
661 if ( mActionType == MOVE && (clipperPos.y() > visibleHeight()-2 ||clipperPos.y() < 0 ) ) { 662 if ( mActionType == MOVE && (clipperPos.y() > visibleHeight()-2 ||clipperPos.y() < 0 ) ) {
662 mScrollUpTimer.stop(); 663 mScrollUpTimer.stop();
663 mScrollDownTimer.stop(); 664 mScrollDownTimer.stop();
664 mActionItem->resetMove(); 665 mActionItem->resetMove();
665 placeSubCells( mActionItem ); 666 placeSubCells( mActionItem );
666 // emit startDragSignal( mActionItem->incidence() ); 667 // emit startDragSignal( mActionItem->incidence() );
667 setCursor( arrowCursor ); 668 setCursor( arrowCursor );
668 mActionItem = 0; 669 mActionItem = 0;
669 mActionType = NOP; 670 mActionType = NOP;
670 mItemMoved = 0; 671 mItemMoved = 0;
671 leftMouseDown = false; 672 leftMouseDown = false;
672 return true; 673 return true;
673 } 674 }
674 endItemAction(); 675 endItemAction();
675 } 676 }
676 } 677 }
677 678
678 } else { // ---------- viewport() 679 } else { // ---------- viewport()
679 if (me->button() == LeftButton && leftMouseDown ) { //left click 680 if (me->button() == LeftButton && leftMouseDown ) { //left click
680 endSelectAction( true ); // emit new event signal 681 endSelectAction( true ); // emit new event signal
681 } 682 }
682 } 683 }
683 if (me->button() == LeftButton) 684 if (me->button() == LeftButton)
684 leftMouseDown = false; 685 leftMouseDown = false;
685 686
686 break; 687 break;
687 688
688 case QEvent::MouseMove: 689 case QEvent::MouseMove:
689 if ( !leftMouseDown ) 690 if ( !leftMouseDown )
690 return true; 691 return true;
691 if ( blockMoving ) { 692 if ( blockMoving ) {
692 int dX, dY; 693 int dX, dY;
693 dX = startX - viewportPos.x(); 694 dX = startX - viewportPos.x();
694 if ( dX < 0 ) 695 if ( dX < 0 )
695 dX = -dX; 696 dX = -dX;
696 dY = viewportPos.y() - startY; 697 dY = viewportPos.y() - startY;
697 if ( dY < 0 ) 698 if ( dY < 0 )
698 dY = -dY; 699 dY = -dY;
699 //qDebug("%d %d %d ", dX, dY , blockmoveDist ); 700 //qDebug("%d %d %d ", dX, dY , blockmoveDist );
700 if ( dX > blockmoveDist || dY > blockmoveDist ) { 701 if ( dX > blockmoveDist || dY > blockmoveDist ) {
701 blockMoving = false; 702 blockMoving = false;
702 } 703 }
703 } 704 }
704 if (object != viewport()) { 705 if (object != viewport()) {
705 KOAgendaItem *moveItem = (KOAgendaItem *)object; 706 KOAgendaItem *moveItem = (KOAgendaItem *)object;
706 if (!moveItem->incidence()->isReadOnly() ) { 707 if (!moveItem->incidence()->isReadOnly() ) {