summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koagenda.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/korganizer/koagenda.cpp b/korganizer/koagenda.cpp
index b99625c..faddac4 100644
--- a/korganizer/koagenda.cpp
+++ b/korganizer/koagenda.cpp
@@ -268,395 +268,399 @@ void KOAgenda::init()
268 mCurrentCellX = 0; 268 mCurrentCellX = 0;
269 mCurrentCellY = 0; 269 mCurrentCellY = 0;
270 270
271 mSelectionCellX = 0; 271 mSelectionCellX = 0;
272 mSelectionYTop = 0; 272 mSelectionYTop = 0;
273 mSelectionHeight = 0; 273 mSelectionHeight = 0;
274 274
275 mOldLowerScrollValue = -1; 275 mOldLowerScrollValue = -1;
276 mOldUpperScrollValue = -1; 276 mOldUpperScrollValue = -1;
277 277
278 mClickedItem = 0; 278 mClickedItem = 0;
279 279
280 mActionItem = 0; 280 mActionItem = 0;
281 mActionType = NOP; 281 mActionType = NOP;
282 mItemMoved = false; 282 mItemMoved = false;
283 283
284 mSelectedItem = 0; 284 mSelectedItem = 0;
285 285
286 // mItems.setAutoDelete(true); 286 // mItems.setAutoDelete(true);
287 287
288 resizeContents( mGridSpacingX * mColumns + 1 , mGridSpacingY * mRows + 1 ); 288 resizeContents( mGridSpacingX * mColumns + 1 , mGridSpacingY * mRows + 1 );
289 289
290 viewport()->update(); 290 viewport()->update();
291 291
292 setMinimumSize(30, 1); 292 setMinimumSize(30, 1);
293// setMaximumHeight(mGridSpacingY * mRows + 5); 293// setMaximumHeight(mGridSpacingY * mRows + 5);
294 294
295 // Disable horizontal scrollbar. This is a hack. The geometry should be 295 // Disable horizontal scrollbar. This is a hack. The geometry should be
296 // controlled in a way that the contents horizontally always fits. Then it is 296 // controlled in a way that the contents horizontally always fits. Then it is
297 // not necessary to turn off the scrollbar. 297 // not necessary to turn off the scrollbar.
298 setHScrollBarMode(AlwaysOff); 298 setHScrollBarMode(AlwaysOff);
299 if ( ! mAllDayMode ) 299 if ( ! mAllDayMode )
300 setVScrollBarMode(AlwaysOn); 300 setVScrollBarMode(AlwaysOn);
301 else 301 else
302 setVScrollBarMode(AlwaysOff); 302 setVScrollBarMode(AlwaysOff);
303 303
304 setStartHour(KOPrefs::instance()->mDayBegins); 304 setStartHour(KOPrefs::instance()->mDayBegins);
305 305
306 calculateWorkingHours(); 306 calculateWorkingHours();
307 307
308 connect(verticalScrollBar(),SIGNAL(valueChanged(int)), 308 connect(verticalScrollBar(),SIGNAL(valueChanged(int)),
309 SLOT(checkScrollBoundaries(int))); 309 SLOT(checkScrollBoundaries(int)));
310 310
311 // Create the Marcus Bains line. 311 // Create the Marcus Bains line.
312 if(mAllDayMode) 312 if(mAllDayMode)
313 mMarcusBains = 0; 313 mMarcusBains = 0;
314 else { 314 else {
315 mMarcusBains = new MarcusBains(this); 315 mMarcusBains = new MarcusBains(this);
316 addChild(mMarcusBains); 316 addChild(mMarcusBains);
317 } 317 }
318 mPopupKind = 0; 318 mPopupKind = 0;
319 mPopupItem = 0; 319 mPopupItem = 0;
320} 320}
321 321
322void KOAgenda::clear() 322void KOAgenda::clear()
323{ 323{
324 KOAgendaItem *item; 324 KOAgendaItem *item;
325 for ( item=mItems.first(); item != 0; item=mItems.next() ) { 325 for ( item=mItems.first(); item != 0; item=mItems.next() ) {
326 mUnusedItems.append( item ); 326 mUnusedItems.append( item );
327 //item->hide(); 327 //item->hide();
328 } 328 }
329 mItems.clear(); 329 mItems.clear();
330 mSelectedItem = 0; 330 mSelectedItem = 0;
331 clearSelection(); 331 clearSelection();
332} 332}
333 333
334void KOAgenda::clearSelection() 334void KOAgenda::clearSelection()
335{ 335{
336 mSelectionCellX = 0; 336 mSelectionCellX = 0;
337 mSelectionYTop = 0; 337 mSelectionYTop = 0;
338 mSelectionHeight = 0; 338 mSelectionHeight = 0;
339} 339}
340 340
341void KOAgenda::marcus_bains() 341void KOAgenda::marcus_bains()
342{ 342{
343 if(mMarcusBains) mMarcusBains->updateLocation(true); 343 if(mMarcusBains) mMarcusBains->updateLocation(true);
344} 344}
345 345
346 346
347void KOAgenda::changeColumns(int columns) 347void KOAgenda::changeColumns(int columns)
348{ 348{
349 if (columns == 0) { 349 if (columns == 0) {
350 qDebug("KOAgenda::changeColumns() called with argument 0 "); 350 qDebug("KOAgenda::changeColumns() called with argument 0 ");
351 return; 351 return;
352 } 352 }
353 clear(); 353 clear();
354 mColumns = columns; 354 mColumns = columns;
355 computeSizes(); 355 computeSizes();
356} 356}
357 357
358/* 358/*
359 This is the eventFilter function, which gets all events from the KOAgendaItems 359 This is the eventFilter function, which gets all events from the KOAgendaItems
360 contained in the agenda. It has to handle moving and resizing for all items. 360 contained in the agenda. It has to handle moving and resizing for all items.
361*/ 361*/
362bool KOAgenda::eventFilter ( QObject *object, QEvent *event ) 362bool KOAgenda::eventFilter ( QObject *object, QEvent *event )
363{ 363{
364 // kdDebug() << "KOAgenda::eventFilter" << endl; 364 // kdDebug() << "KOAgenda::eventFilter" << endl;
365 switch(event->type()) { 365 switch(event->type()) {
366 case QEvent::MouseButtonPress: 366 case QEvent::MouseButtonPress:
367 case QEvent::MouseButtonDblClick: 367 case QEvent::MouseButtonDblClick:
368 case QEvent::MouseButtonRelease: 368 case QEvent::MouseButtonRelease:
369 case QEvent::MouseMove: 369 case QEvent::MouseMove:
370 return eventFilter_mouse(object, static_cast<QMouseEvent *>(event)); 370 return eventFilter_mouse(object, static_cast<QMouseEvent *>(event));
371 371
372 case (QEvent::Leave): 372 case (QEvent::Leave):
373 if (!mActionItem) 373 if (!mActionItem)
374 setCursor(arrowCursor); 374 setCursor(arrowCursor);
375 return true; 375 return true;
376 376
377 default: 377 default:
378 return QScrollView::eventFilter(object,event); 378 return QScrollView::eventFilter(object,event);
379 } 379 }
380} 380}
381void KOAgenda::popupMenu() 381void KOAgenda::popupMenu()
382{ 382{
383 mPopupTimer->stop(); 383 mPopupTimer->stop();
384 if ( mPopupKind == 1 || mPopupKind == 3 ) { 384 if ( mPopupKind == 1 || mPopupKind == 3 ) {
385 if (mActionItem ) { 385 if (mActionItem ) {
386 endItemAction(); 386 endItemAction();
387 } 387 }
388 mLeftMouseDown = false; // no more leftMouse computation 388 mLeftMouseDown = false; // no more leftMouse computation
389 if (mPopupItem) { 389 if (mPopupItem) {
390 //mClickedItem = mPopupItem; 390 //mClickedItem = mPopupItem;
391 selectItem(mPopupItem); 391 selectItem(mPopupItem);
392 if ( mAllAgendaPopup && KOPrefs::instance()->mBlockPopupMenu && mPopupKind == 1 ) 392 if ( mAllAgendaPopup && KOPrefs::instance()->mBlockPopupMenu && mPopupKind == 1 )
393 mAllAgendaPopup->installEventFilter( this ); 393 mAllAgendaPopup->installEventFilter( this );
394 emit showIncidencePopupSignal(mPopupItem->incidence()); 394 emit showIncidencePopupSignal(mPopupItem->incidence());
395 395
396 } 396 }
397 } else if ( mPopupKind == 2 || mPopupKind == 4 ) { 397 } else if ( mPopupKind == 2 || mPopupKind == 4 ) {
398 if ( mLeftMouseDown ) { // we have a simulated right click - clear left mouse action 398 if ( mLeftMouseDown ) { // we have a simulated right click - clear left mouse action
399 endSelectAction( false ); // do not emit new event signal 399 endSelectAction( false ); // do not emit new event signal
400 mLeftMouseDown = false; // no more leftMouse computation 400 mLeftMouseDown = false; // no more leftMouse computation
401 } 401 }
402 if ( KOPrefs::instance()->mBlockPopupMenu && mPopupKind == 2 ) 402 if ( KOPrefs::instance()->mBlockPopupMenu && mPopupKind == 2 )
403 mNewItemPopup->installEventFilter( this ); 403 mNewItemPopup->installEventFilter( this );
404 mNewItemPopup->popup( mPopupPos); 404 mNewItemPopup->popup( mPopupPos);
405 405
406 } 406 }
407 mLeftMouseDown = false; 407 mLeftMouseDown = false;
408 mPopupItem = 0; 408 mPopupItem = 0;
409 mPopupKind = 0; 409 mPopupKind = 0;
410} 410}
411 411
412bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me) 412bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me)
413{ 413{
414 static int startX = 0; 414 static int startX = 0;
415 static int startY = 0; 415 static int startY = 0;
416 int blockmoveDist = ( QApplication::desktop()->width() < 480 ? 7 : 9 ); 416 int blockmoveDist = ( QApplication::desktop()->width() < 480 ? 7 : 9 );
417 static bool blockMoving = true; 417 static bool blockMoving = true;
418 418
419 //qDebug("KOAgenda::eventFilter_mous "); 419 //qDebug("KOAgenda::eventFilter_mous ");
420 if ( object == mNewItemPopup ) { 420 if ( object == mNewItemPopup ) {
421 //qDebug("mNewItemPopup "); 421 //qDebug("mNewItemPopup ");
422 if ( me->type() == QEvent::MouseButtonRelease ) { 422 if ( me->type() == QEvent::MouseButtonRelease ) {
423 mNewItemPopup->removeEventFilter( this ); 423 mNewItemPopup->removeEventFilter( this );
424 int dX = me->globalPos().x() - mPopupPos.x();; 424 int dX = me->globalPos().x() - mPopupPos.x();;
425 if ( dX < 0 ) 425 if ( dX < 0 )
426 dX = -dX; 426 dX = -dX;
427 int dY = me->globalPos().y() - mPopupPos.y(); 427 int dY = me->globalPos().y() - mPopupPos.y();
428 if ( dY < 0 ) 428 if ( dY < 0 )
429 dY = -dY; 429 dY = -dY;
430 if ( dX > blockmoveDist || dY > blockmoveDist ) { 430 if ( dX > blockmoveDist || dY > blockmoveDist ) {
431 mNewItemPopup->hide(); 431 mNewItemPopup->hide();
432 } 432 }
433 } 433 }
434 return true; 434 return true;
435 } 435 }
436 if ( object == mAllAgendaPopup ) { 436 if ( object == mAllAgendaPopup ) {
437 //qDebug(" mAllAgendaPopup "); 437 //qDebug(" mAllAgendaPopup ");
438 if ( me->type() == QEvent::MouseButtonRelease ) { 438 if ( me->type() == QEvent::MouseButtonRelease ) {
439 mAllAgendaPopup->removeEventFilter( this ); 439 mAllAgendaPopup->removeEventFilter( this );
440 int dX = me->globalPos().x() - mPopupPos.x();; 440 int dX = me->globalPos().x() - mPopupPos.x();;
441 if ( dX < 0 ) 441 if ( dX < 0 )
442 dX = -dX; 442 dX = -dX;
443 int dY = me->globalPos().y() - mPopupPos.y(); 443 int dY = me->globalPos().y() - mPopupPos.y();
444 if ( dY < 0 ) 444 if ( dY < 0 )
445 dY = -dY; 445 dY = -dY;
446 if ( dX > blockmoveDist || dY > blockmoveDist ) { 446 if ( dX > blockmoveDist || dY > blockmoveDist ) {
447 mAllAgendaPopup->hide(); 447 mAllAgendaPopup->hide();
448 } 448 }
449 } 449 }
450 return true; 450 return true;
451 } 451 }
452 QPoint viewportPos; 452 QPoint viewportPos;
453 if (object != viewport()) { 453 if (object != viewport()) {
454 blockmoveDist = blockmoveDist*2; 454 blockmoveDist = blockmoveDist*2;
455 viewportPos = ((QWidget *)object)->mapToParent(me->pos()); 455 viewportPos = ((QWidget *)object)->mapToParent(me->pos());
456 } else { 456 } else {
457 viewportPos = me->pos(); 457 viewportPos = me->pos();
458 } 458 }
459 bool objIsNotViewport = (object != viewport()); 459 bool objIsNotViewport = (object != viewport());
460 bool leftButt = false;
461#ifdef DESKTOP_VERSION
462 leftButt = (me->button() == LeftButton);
463#endif
460 switch (me->type()) { 464 switch (me->type()) {
461 case QEvent::MouseButtonPress: 465 case QEvent::MouseButtonPress:
462 if (me->button() == LeftButton) { 466 if (me->button() == LeftButton) {
463 mPopupTimer->start( 600 ); 467 mPopupTimer->start( 600 );
464 mLeftMouseDown = true; 468 mLeftMouseDown = true;
465 } 469 }
466 blockMoving = true; 470 blockMoving = true;
467 startX = viewportPos.x(); 471 startX = viewportPos.x();
468 startY = viewportPos.y(); 472 startY = viewportPos.y();
469 mPopupPos = me->globalPos(); 473 mPopupPos = me->globalPos();
470 if ( objIsNotViewport ) { 474 if ( objIsNotViewport && !leftButt ) {
471 KOAgendaItem * tempItem = (KOAgendaItem *)object; 475 KOAgendaItem * tempItem = (KOAgendaItem *)object;
472 if (mAllDayMode) { 476 if (mAllDayMode) {
473 if ( tempItem->height() > 10 ) { 477 if ( tempItem->height() > 10 ) {
474 int minV = tempItem->height()/4; 478 int minV = tempItem->height()/4;
475 if ( minV > (blockmoveDist/2)-2 ) 479 if ( minV > (blockmoveDist/2)-2 )
476 minV = (blockmoveDist/2)-2; 480 minV = (blockmoveDist/2)-2;
477 bool border = false; 481 bool border = false;
478 int diff = tempItem->y() - viewportPos.y(); 482 int diff = tempItem->y() - viewportPos.y();
479 if ( diff < 0 ) 483 if ( diff < 0 )
480 diff *= -1; 484 diff *= -1;
481 if ( diff < minV ) { 485 if ( diff < minV ) {
482 border = true; 486 border = true;
483 objIsNotViewport = false; 487 objIsNotViewport = false;
484 } 488 }
485 if ( ! border ) { 489 if ( ! border ) {
486 diff = tempItem->y() + tempItem->height()- viewportPos.y(); 490 diff = tempItem->y() + tempItem->height()- viewportPos.y();
487 if ( diff < 0 ) 491 if ( diff < 0 )
488 diff *= -1; 492 diff *= -1;
489 if ( diff < minV ) { 493 if ( diff < minV ) {
490 border = true; 494 border = true;
491 objIsNotViewport = false; 495 objIsNotViewport = false;
492 } 496 }
493 } 497 }
494 } 498 }
495 } else { // not allday 499 } else { // not allday
496 if ( tempItem->width() > 10 ) { 500 if ( tempItem->width() > 10 ) {
497 int minH = tempItem->width()/4; 501 int minH = tempItem->width()/4;
498 if ( minH > (blockmoveDist/2)-2 ) 502 if ( minH > (blockmoveDist/2)-2 )
499 minH = (blockmoveDist/2)-2; 503 minH = (blockmoveDist/2)-2;
500 bool border = false; 504 bool border = false;
501 int diff = tempItem->x() - viewportPos.x(); 505 int diff = tempItem->x() - viewportPos.x();
502 if ( diff < 0 ) 506 if ( diff < 0 )
503 diff *= -1; 507 diff *= -1;
504 if ( diff < minH ) { 508 if ( diff < minH ) {
505 border = true; 509 border = true;
506 objIsNotViewport = false; 510 objIsNotViewport = false;
507 } 511 }
508 if ( ! border ) { 512 if ( ! border ) {
509 diff = tempItem->x() + tempItem->width() - viewportPos.x(); 513 diff = tempItem->x() + tempItem->width() - viewportPos.x();
510 if ( diff < 0 ) 514 if ( diff < 0 )
511 diff *= -1; 515 diff *= -1;
512 if ( diff < minH ) { 516 if ( diff < minH ) {
513 border = true; 517 border = true;
514 objIsNotViewport = false; 518 objIsNotViewport = false;
515 } 519 }
516 } 520 }
517 } 521 }
518 } 522 }
519 } 523 }
520 if ( objIsNotViewport ) { 524 if ( objIsNotViewport ) {
521 mPopupItem = (KOAgendaItem *)object; 525 mPopupItem = (KOAgendaItem *)object;
522 mPopupKind = 1; 526 mPopupKind = 1;
523 if (me->button() == RightButton) { 527 if (me->button() == RightButton) {
524 mPopupKind = 3; 528 mPopupKind = 3;
525 popupMenu(); 529 popupMenu();
526 } else if (me->button() == LeftButton) { 530 } else if (me->button() == LeftButton) {
527 mActionItem = (KOAgendaItem *)object; 531 mActionItem = (KOAgendaItem *)object;
528 if (mActionItem) { 532 if (mActionItem) {
529 emit signalClearSelection(); 533 emit signalClearSelection();
530 slotClearSelection(); 534 slotClearSelection();
531 selectItem(mActionItem); 535 selectItem(mActionItem);
532 Incidence *incidence = mActionItem->incidence(); 536 Incidence *incidence = mActionItem->incidence();
533 if ( incidence->isReadOnly() /*|| incidence->recurrence()->doesRecur() */) { 537 if ( incidence->isReadOnly() /*|| incidence->recurrence()->doesRecur() */) {
534 mActionItem = 0; 538 mActionItem = 0;
535 } else { 539 } else {
536 startItemAction(viewportPos); 540 startItemAction(viewportPos);
537 } 541 }
538 } 542 }
539 } 543 }
540 } else { // ---------- viewport() 544 } else { // ---------- viewport()
541 mPopupItem = 0; 545 mPopupItem = 0;
542 mPopupKind = 2; 546 mPopupKind = 2;
543 selectItem(0); 547 selectItem(0);
544 mActionItem = 0; 548 mActionItem = 0;
545 if (me->button() == RightButton) { 549 if (me->button() == RightButton) {
546 int x,y; 550 int x,y;
547 viewportToContents(viewportPos.x(),viewportPos.y(),x,y); 551 viewportToContents(viewportPos.x(),viewportPos.y(),x,y);
548 int gx,gy; 552 int gx,gy;
549 contentsToGrid(x,y,gx,gy); 553 contentsToGrid(x,y,gx,gy);
550 mCurrentCellX = gx; 554 mCurrentCellX = gx;
551 mCurrentCellY = gy; 555 mCurrentCellY = gy;
552 mStartCellX = gx; 556 mStartCellX = gx;
553 mStartCellY = gy; 557 mStartCellY = gy;
554 mPopupKind = 4; 558 mPopupKind = 4;
555 popupMenu(); 559 popupMenu();
556 } else if (me->button() == LeftButton) { 560 } else if (me->button() == LeftButton) {
557 setCursor(arrowCursor); 561 setCursor(arrowCursor);
558 startSelectAction(viewportPos); 562 startSelectAction(viewportPos);
559 } 563 }
560 } 564 }
561 break; 565 break;
562 566
563 case QEvent::MouseButtonRelease: 567 case QEvent::MouseButtonRelease:
564 if (me->button() == LeftButton ) { 568 if (me->button() == LeftButton ) {
565 mPopupTimer->stop(); 569 mPopupTimer->stop();
566 } 570 }
567 if (object != viewport()) { 571 if (object != viewport()) {
568 if (me->button() == LeftButton && mLeftMouseDown) { 572 if (me->button() == LeftButton && mLeftMouseDown) {
569 if (mActionItem) { 573 if (mActionItem) {
570 QPoint clipperPos = clipper()->mapFromGlobal(viewport()->mapToGlobal(viewportPos)); 574 QPoint clipperPos = clipper()->mapFromGlobal(viewport()->mapToGlobal(viewportPos));
571 //qDebug(" %d %d %d ",clipperPos.y(),visibleHeight() , 9 ); 575 //qDebug(" %d %d %d ",clipperPos.y(),visibleHeight() , 9 );
572 if ( mActionType == MOVE && (clipperPos.y() > visibleHeight()-2 ||clipperPos.y() < 0 ) ) { 576 if ( mActionType == MOVE && (clipperPos.y() > visibleHeight()-2 ||clipperPos.y() < 0 ) ) {
573 mScrollUpTimer.stop(); 577 mScrollUpTimer.stop();
574 mScrollDownTimer.stop(); 578 mScrollDownTimer.stop();
575 mActionItem->resetMove(); 579 mActionItem->resetMove();
576 placeSubCells( mActionItem ); 580 placeSubCells( mActionItem );
577 // emit startDragSignal( mActionItem->incidence() ); 581 // emit startDragSignal( mActionItem->incidence() );
578 setCursor( arrowCursor ); 582 setCursor( arrowCursor );
579 mActionItem = 0; 583 mActionItem = 0;
580 mActionType = NOP; 584 mActionType = NOP;
581 mItemMoved = 0; 585 mItemMoved = 0;
582 mLeftMouseDown = false; 586 mLeftMouseDown = false;
583 return true; 587 return true;
584 } 588 }
585 endItemAction(); 589 endItemAction();
586 } 590 }
587 } 591 }
588 592
589 } else { // ---------- viewport() 593 } else { // ---------- viewport()
590 if (me->button() == LeftButton && mLeftMouseDown ) { //left click 594 if (me->button() == LeftButton && mLeftMouseDown ) { //left click
591 endSelectAction( true ); // emit new event signal 595 endSelectAction( true ); // emit new event signal
592 } 596 }
593 } 597 }
594 if (me->button() == LeftButton) 598 if (me->button() == LeftButton)
595 mLeftMouseDown = false; 599 mLeftMouseDown = false;
596 600
597 break; 601 break;
598 602
599 case QEvent::MouseMove: 603 case QEvent::MouseMove:
600 //qDebug("mm "); 604 //qDebug("mm ");
601 if ( !mLeftMouseDown ) 605 if ( !mLeftMouseDown )
602 return false; 606 return false;
603 if ( blockMoving ) { 607 if ( blockMoving ) {
604 int dX, dY; 608 int dX, dY;
605 dX = startX - viewportPos.x(); 609 dX = startX - viewportPos.x();
606 if ( dX < 0 ) 610 if ( dX < 0 )
607 dX = -dX; 611 dX = -dX;
608 dY = viewportPos.y() - startY; 612 dY = viewportPos.y() - startY;
609 if ( dY < 0 ) 613 if ( dY < 0 )
610 dY = -dY; 614 dY = -dY;
611 //qDebug("%d %d %d ", dX, dY , blockmoveDist ); 615 //qDebug("%d %d %d ", dX, dY , blockmoveDist );
612 if ( dX > blockmoveDist || dY > blockmoveDist ) { 616 if ( dX > blockmoveDist || dY > blockmoveDist ) {
613 blockMoving = false; 617 blockMoving = false;
614 } 618 }
615 } 619 }
616 if ( ! blockMoving ) 620 if ( ! blockMoving )
617 mPopupTimer->stop(); 621 mPopupTimer->stop();
618 if (object != viewport()) { 622 if (object != viewport()) {
619 KOAgendaItem *moveItem = (KOAgendaItem *)object; 623 KOAgendaItem *moveItem = (KOAgendaItem *)object;
620 if (!moveItem->incidence()->isReadOnly() ) { 624 if (!moveItem->incidence()->isReadOnly() ) {
621 if (!mActionItem) 625 if (!mActionItem)
622 setNoActionCursor(moveItem,viewportPos); 626 setNoActionCursor(moveItem,viewportPos);
623 else { 627 else {
624 if ( !blockMoving ) 628 if ( !blockMoving )
625 performItemAction(viewportPos); 629 performItemAction(viewportPos);
626 } 630 }
627 } 631 }
628 } else { // ---------- viewport() 632 } else { // ---------- viewport()
629 mPopupPos = viewport()->mapToGlobal( me->pos() ); 633 mPopupPos = viewport()->mapToGlobal( me->pos() );
630 if ( mActionType == SELECT ) { 634 if ( mActionType == SELECT ) {
631 performSelectAction( viewportPos ); 635 performSelectAction( viewportPos );
632 } 636 }
633 } 637 }
634 break; 638 break;
635 639
636 case QEvent::MouseButtonDblClick: 640 case QEvent::MouseButtonDblClick:
637 mPopupTimer->stop(); 641 mPopupTimer->stop();
638 if (object == viewport()) { 642 if (object == viewport()) {
639 selectItem(0); 643 selectItem(0);
640 int x,y; 644 int x,y;
641 viewportToContents(viewportPos.x(),viewportPos.y(),x,y); 645 viewportToContents(viewportPos.x(),viewportPos.y(),x,y);
642 int gx,gy; 646 int gx,gy;
643 contentsToGrid(x,y,gx,gy); 647 contentsToGrid(x,y,gx,gy);
644 emit newEventSignal(gx,gy); 648 emit newEventSignal(gx,gy);
645 } else { 649 } else {
646 KOAgendaItem *doubleClickedItem = (KOAgendaItem *)object; 650 KOAgendaItem *doubleClickedItem = (KOAgendaItem *)object;
647 selectItem(doubleClickedItem); 651 selectItem(doubleClickedItem);
648 if ( KOPrefs::instance()->mEditOnDoubleClick ) 652 if ( KOPrefs::instance()->mEditOnDoubleClick )
649 emit editIncidenceSignal(doubleClickedItem->incidence()); 653 emit editIncidenceSignal(doubleClickedItem->incidence());
650 else 654 else
651 emit showIncidenceSignal(doubleClickedItem->incidence()); 655 emit showIncidenceSignal(doubleClickedItem->incidence());
652 } 656 }
653 break; 657 break;
654 658
655 default: 659 default:
656 break; 660 break;
657 } 661 }
658 return true; 662 return true;
659 663
660} 664}
661 665
662void KOAgenda::newItem( int item ) 666void KOAgenda::newItem( int item )