summaryrefslogtreecommitdiffabout
path: root/korganizer/komonthview.cpp
Unidiff
Diffstat (limited to 'korganizer/komonthview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/komonthview.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp
index 12233ee..9085775 100644
--- a/korganizer/komonthview.cpp
+++ b/korganizer/komonthview.cpp
@@ -325,695 +325,700 @@ void MonthViewItem::paint(QPainter *p)
325 if ( mIncidence->cancelled() ) { 325 if ( mIncidence->cancelled() ) {
326 int wid = fm.width( text() ); 326 int wid = fm.width( text() );
327 p->drawLine( x, heihei/2-1 ,x+wid, heihei/2-1 ); 327 p->drawLine( x, heihei/2-1 ,x+wid, heihei/2-1 );
328 } 328 }
329 329
330} 330}
331 331
332int MonthViewItem::height(const QListBox *lb) const 332int MonthViewItem::height(const QListBox *lb) const
333{ 333{
334 int ret = 10; 334 int ret = 10;
335 if ( lb ) 335 if ( lb )
336 ret = lb->fontMetrics().lineSpacing()+1; 336 ret = lb->fontMetrics().lineSpacing()+1;
337 return ret; 337 return ret;
338} 338}
339 339
340int MonthViewItem::width(const QListBox *lb) const 340int MonthViewItem::width(const QListBox *lb) const
341{ 341{
342 342
343 if( KOPrefs::instance()->mEnableMonthScroll || KOPrefs::instance()->mMonthViewWeek ) { 343 if( KOPrefs::instance()->mEnableMonthScroll || KOPrefs::instance()->mMonthViewWeek ) {
344 int size = PIXMAP_SIZE; 344 int size = PIXMAP_SIZE;
345 if ( QApplication::desktop()->width() < 300 ) 345 if ( QApplication::desktop()->width() < 300 )
346 size = 3; 346 size = 3;
347 int x = 1; 347 int x = 1;
348 if ( KOPrefs::instance()->mMonthShowIcons ) { 348 if ( KOPrefs::instance()->mMonthShowIcons ) {
349 if ( mInfo ) { 349 if ( mInfo ) {
350 x += size + 1; 350 x += size + 1;
351 } 351 }
352 if( mRecur ) { 352 if( mRecur ) {
353 x += size+1; 353 x += size+1;
354 } 354 }
355 if( mAlarm ) { 355 if( mAlarm ) {
356 x += size+1; 356 x += size+1;
357 } 357 }
358 if( mReply ) { 358 if( mReply ) {
359 x += size+1; 359 x += size+1;
360 } 360 }
361 } 361 }
362 if( mMultiday ) { 362 if( mMultiday ) {
363 x += size+1+2+size/2; 363 x += size+1+2+size/2;
364 } 364 }
365 return( x + lb->fontMetrics().width( text() ) + 1 ); 365 return( x + lb->fontMetrics().width( text() ) + 1 );
366 } 366 }
367 if ( ! lb ) 367 if ( ! lb )
368 return 10; 368 return 10;
369 //qDebug("ret wid %d ", lb->width()); 369 //qDebug("ret wid %d ", lb->width());
370 return lb->width(); 370 return lb->width();
371} 371}
372 372
373 373
374MonthViewCell::MonthViewCell( KOMonthView *parent,QWidget* par ) 374MonthViewCell::MonthViewCell( KOMonthView *parent,QWidget* par )
375 : KNoScrollListBox( par ), 375 : KNoScrollListBox( par ),
376 mMonthView( parent ) 376 mMonthView( parent )
377{ 377{
378 378
379 mCurrentAvailItem = 0; 379 mCurrentAvailItem = 0;
380 //QVBoxLayout *topLayout = new QVBoxLayout( this ); 380 //QVBoxLayout *topLayout = new QVBoxLayout( this );
381 currentPalette = 0; 381 currentPalette = 0;
382 // mLabel = new QLabel( this );QPushButton 382 // mLabel = new QLabel( this );QPushButton
383 mLabel = new QPushButton( this ); 383 mLabel = new QPushButton( this );
384 //mLabel->setFrameStyle( QFrame::Panel | QFrame::Plain ); 384 //mLabel->setFrameStyle( QFrame::Panel | QFrame::Plain );
385 //mLabel->setLineWidth( 1 ); 385 //mLabel->setLineWidth( 1 );
386 //mLabel->setAlignment( AlignCenter ); 386 //mLabel->setAlignment( AlignCenter );
387 mLabel->setFlat( true ); 387 mLabel->setFlat( true );
388 mLabel->setFocusPolicy(NoFocus); 388 mLabel->setFocusPolicy(NoFocus);
389 //mItemList = new KNoScrollListBox( this ); 389 //mItemList = new KNoScrollListBox( this );
390 setMinimumSize( 10, 10 ); 390 setMinimumSize( 10, 10 );
391 setFrameStyle( QFrame::Panel | QFrame::Plain ); 391 setFrameStyle( QFrame::Panel | QFrame::Plain );
392 setLineWidth( 1 ); 392 setLineWidth( 1 );
393 //topLayout->addWidget( mItemList ); 393 //topLayout->addWidget( mItemList );
394 mLabel->raise(); 394 mLabel->raise();
395 // QColor( 0,0,255 ) QColor( 160,1600,255 ) 395 // QColor( 0,0,255 ) QColor( 160,1600,255 )
396 mStandardPalette = palette(); 396 mStandardPalette = palette();
397 mStandardPalette.setColor(QColorGroup::Base, mStandardPalette.color( QPalette::Normal, QColorGroup::Background ) ); 397 mStandardPalette.setColor(QColorGroup::Base, mStandardPalette.color( QPalette::Normal, QColorGroup::Background ) );
398 398
399 enableScrollBars( false ); 399 enableScrollBars( false );
400 updateConfig(); 400 updateConfig();
401 //connect( mLabel, SIGNAL( clicked( )), SLOT( newEvent() )); 401 //connect( mLabel, SIGNAL( clicked( )), SLOT( newEvent() ));
402 connect( mLabel, SIGNAL( clicked( )), SLOT( showDay() )); 402 connect( mLabel, SIGNAL( clicked( )), SLOT( showDay() ));
403 connect( this , SIGNAL( doubleClicked( QListBoxItem *) ), 403 connect( this , SIGNAL( doubleClicked( QListBoxItem *) ),
404 SLOT( defaultAction( QListBoxItem * ) ) ); 404 SLOT( defaultAction( QListBoxItem * ) ) );
405 connect( this, SIGNAL( rightButtonPressed( QListBoxItem *, 405 connect( this, SIGNAL( rightButtonPressed( QListBoxItem *,
406 const QPoint &) ), 406 const QPoint &) ),
407 SLOT( contextMenu( QListBoxItem * ) ) ); 407 SLOT( contextMenu( QListBoxItem * ) ) );
408 connect( this, SIGNAL( highlighted( QListBoxItem *) ), 408 connect( this, SIGNAL( highlighted( QListBoxItem *) ),
409 SLOT( selection( QListBoxItem * ) ) ); 409 SLOT( selection( QListBoxItem * ) ) );
410 connect( this, SIGNAL( clicked( QListBoxItem * ) ), 410 connect( this, SIGNAL( clicked( QListBoxItem * ) ),
411 SLOT( cellClicked( QListBoxItem * ) ) ); 411 SLOT( cellClicked( QListBoxItem * ) ) );
412 connect( this, SIGNAL( clicked( QListBoxItem * ) ), 412 connect( this, SIGNAL( clicked( QListBoxItem * ) ),
413 SLOT( selection( QListBoxItem * ) ) ); 413 SLOT( selection( QListBoxItem * ) ) );
414} 414}
415#ifdef DESKTOP_VERSION 415#ifdef DESKTOP_VERSION
416QToolTipGroup *MonthViewCell::toolTipGroup() 416QToolTipGroup *MonthViewCell::toolTipGroup()
417{ 417{
418 if (!mToolTipGroup) mToolTipGroup = new QToolTipGroup(0); 418 if (!mToolTipGroup) mToolTipGroup = new QToolTipGroup(0);
419 return mToolTipGroup; 419 return mToolTipGroup;
420} 420}
421#endif 421#endif
422 422
423void MonthViewCell::setDate( const QDate &date ) 423void MonthViewCell::setDate( const QDate &date )
424{ 424{
425 // kdDebug() << "MonthViewCell::setDate(): " << date.toString() << endl; 425 // kdDebug() << "MonthViewCell::setDate(): " << date.toString() << endl;
426 mDate = date; 426 mDate = date;
427 427
428 428
429 429
430 //resizeEvent( 0 ); 430 //resizeEvent( 0 );
431} 431}
432 432
433QDate MonthViewCell::date() const 433QDate MonthViewCell::date() const
434{ 434{
435 return mDate; 435 return mDate;
436} 436}
437 437
438void MonthViewCell::setPrimary( bool primary ) 438void MonthViewCell::setPrimary( bool primary )
439{ 439{
440 mPrimary = primary; 440 mPrimary = primary;
441 //setMyPalette(); 441 //setMyPalette();
442} 442}
443void MonthViewCell::setMyPalette() 443void MonthViewCell::setMyPalette()
444{ 444{
445 445
446 if ( mHoliday) { 446 if ( mHoliday) {
447 if ( currentPalette == 1 ) return; 447 if ( currentPalette == 1 ) return;
448 mLabel->setPalette( QPalette ( mHolidayPalette.color( QPalette::Normal,QColorGroup::Base),mHolidayPalette.color(QPalette::Normal,QColorGroup::Base ) )); 448 mLabel->setPalette( QPalette ( mHolidayPalette.color( QPalette::Normal,QColorGroup::Base),mHolidayPalette.color(QPalette::Normal,QColorGroup::Base ) ));
449 setPalette( mHolidayPalette ); 449 setPalette( mHolidayPalette );
450 //mLabel->setPalette( mHolidayPalette ); 450 //mLabel->setPalette( mHolidayPalette );
451 currentPalette = 1; 451 currentPalette = 1;
452 452
453 } else { 453 } else {
454 if ( mPrimary ) { 454 if ( mPrimary ) {
455 if ( currentPalette == 2 ) return; 455 if ( currentPalette == 2 ) return;
456 mLabel->setPalette( QPalette ( mPrimaryPalette.color( QPalette::Normal,QColorGroup::Base),mPrimaryPalette.color(QPalette::Normal,QColorGroup::Base ) )); 456 mLabel->setPalette( QPalette ( mPrimaryPalette.color( QPalette::Normal,QColorGroup::Base),mPrimaryPalette.color(QPalette::Normal,QColorGroup::Base ) ));
457 //mLabel->setPalette( mPrimaryPalette ); 457 //mLabel->setPalette( mPrimaryPalette );
458 setPalette( mPrimaryPalette ); 458 setPalette( mPrimaryPalette );
459 currentPalette = 2; 459 currentPalette = 2;
460 460
461 } else { 461 } else {
462 if ( currentPalette == 3 ) return; 462 if ( currentPalette == 3 ) return;
463 setPalette( mNonPrimaryPalette ); 463 setPalette( mNonPrimaryPalette );
464 mLabel->setPalette( QPalette ( mNonPrimaryPalette.color( QPalette::Normal,QColorGroup::Base),mNonPrimaryPalette.color(QPalette::Normal,QColorGroup::Base ) )); 464 mLabel->setPalette( QPalette ( mNonPrimaryPalette.color( QPalette::Normal,QColorGroup::Base),mNonPrimaryPalette.color(QPalette::Normal,QColorGroup::Base ) ));
465 //mLabel->setPalette( mNonPrimaryPalette );; 465 //mLabel->setPalette( mNonPrimaryPalette );;
466 currentPalette = 3; 466 currentPalette = 3;
467 } 467 }
468 } 468 }
469 //QPalette pal = palette(); 469 //QPalette pal = palette();
470 470
471 //mLabel->setPalette( QPalette ( pal.color( QPalette::Normal,QColorGroup::Base),pal.color(QPalette::Normal,QColorGroup::Base ) )); 471 //mLabel->setPalette( QPalette ( pal.color( QPalette::Normal,QColorGroup::Base),pal.color(QPalette::Normal,QColorGroup::Base ) ));
472} 472}
473QPalette MonthViewCell::getPalette () 473QPalette MonthViewCell::getPalette ()
474{ 474{
475 if ( !KOPrefs::instance()->mMonthViewUsesDayColors ) 475 if ( !KOPrefs::instance()->mMonthViewUsesDayColors )
476 return mStandardPalette; 476 return mStandardPalette;
477 if ( mHoliday) { 477 if ( mHoliday) {
478 return mHolidayPalette ; 478 return mHolidayPalette ;
479 } else { 479 } else {
480 if ( mPrimary ) { 480 if ( mPrimary ) {
481 return mPrimaryPalette ; 481 return mPrimaryPalette ;
482 } 482 }
483 } 483 }
484 return mNonPrimaryPalette; 484 return mNonPrimaryPalette;
485} 485}
486bool MonthViewCell::isPrimary() const 486bool MonthViewCell::isPrimary() const
487{ 487{
488 return mPrimary; 488 return mPrimary;
489} 489}
490 490
491void MonthViewCell::setHoliday( bool holiday ) 491void MonthViewCell::setHoliday( bool holiday )
492{ 492{
493 mHoliday = holiday; 493 mHoliday = holiday;
494 //setMyPalette(); 494 //setMyPalette();
495} 495}
496 496
497void MonthViewCell::setHoliday( const QString &holiday ) 497void MonthViewCell::setHoliday( const QString &holiday )
498{ 498{
499 mHolidayString = holiday; 499 mHolidayString = holiday;
500 500
501 if ( !holiday.isEmpty() ) { 501 if ( !holiday.isEmpty() ) {
502 setHoliday( true ); 502 setHoliday( true );
503 } 503 }
504} 504}
505 505
506void MonthViewCell::startUpdateCell() 506void MonthViewCell::startUpdateCell()
507{ 507{
508 508
509 setFocusPolicy(NoFocus); 509 setFocusPolicy(NoFocus);
510 if ( !mMonthView->isUpdatePossible() ) 510 if ( !mMonthView->isUpdatePossible() )
511 return; 511 return;
512 MonthViewItem *mitem = (MonthViewItem*) firstItem (); 512 MonthViewItem *mitem = (MonthViewItem*) firstItem ();
513 while ( mitem ) { 513 while ( mitem ) {
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;
520 } 525 }
521 */ 526 */
522 // qDebug("MonthViewCell::updateCell() "); 527 // qDebug("MonthViewCell::updateCell() ");
523 setPrimary( mDate.month()%2 ); 528 setPrimary( mDate.month()%2 );
524 setHoliday( KOGlobals::self()->calendarSystem()->dayOfWeek(mDate) == KOGlobals::self()->calendarSystem()->weekDayOfPray() || ( mDate.dayOfWeek() == 6 ) && KOPrefs::instance()-> mExcludeSaturdays); 529 setHoliday( KOGlobals::self()->calendarSystem()->dayOfWeek(mDate) == KOGlobals::self()->calendarSystem()->weekDayOfPray() || ( mDate.dayOfWeek() == 6 ) && KOPrefs::instance()-> mExcludeSaturdays);
525 if ( mDate == QDate::currentDate() ) { 530 if ( mDate == QDate::currentDate() ) {
526 setLineWidth( 3 ); 531 setLineWidth( 3 );
527 } else { 532 } else {
528 setLineWidth( 1 ); 533 setLineWidth( 1 );
529 } 534 }
530 mCurrentAvailItem = (MonthViewItem*) firstItem (); 535 mCurrentAvailItem = (MonthViewItem*) firstItem ();
531 //clear(); 536 //clear();
532 537
533#ifdef DESKTOP_VERSION 538#ifdef DESKTOP_VERSION
534 QToolTip::remove(this); 539 QToolTip::remove(this);
535#endif 540#endif
536 mToolTip.clear(); 541 mToolTip.clear();
537 //qApp->processEvents(); 542 //qApp->processEvents();
538#if 0 543#if 0
539 if ( !mHolidayString.isEmpty() ) { 544 if ( !mHolidayString.isEmpty() ) {
540 MonthViewItem *item = new MonthViewItem( 0, mDate, mHolidayString ); 545 MonthViewItem *item = new MonthViewItem( 0, mDate, mHolidayString );
541 item->setPalette( mHolidayPalette ); 546 item->setPalette( mHolidayPalette );
542 insertItem( item ); 547 insertItem( item );
543 mToolTip.append ( mHolidayString ); 548 mToolTip.append ( mHolidayString );
544 } 549 }
545#endif 550#endif
546} 551}
547 552
548void MonthViewCell::insertEvent(Event *event) 553void MonthViewCell::insertEvent(Event *event)
549{ 554{
550 QString mToolTipText; 555 QString mToolTipText;
551 bool insertNewItem = false; 556 bool insertNewItem = false;
552 setFocusPolicy(WheelFocus); 557 setFocusPolicy(WheelFocus);
553 if ( !(event->doesRecur() == Recurrence::rNone) ) { 558 if ( !(event->doesRecur() == Recurrence::rNone) ) {
554 if ( !KOPrefs::instance()->mMonthDailyRecur && event->doesRecur() == Recurrence::rDaily ) 559 if ( !KOPrefs::instance()->mMonthDailyRecur && event->doesRecur() == Recurrence::rDaily )
555 return; 560 return;
556 else 561 else
557 if ( !KOPrefs::instance()->mMonthWeeklyRecur && event->doesRecur() == Recurrence::rWeekly ) 562 if ( !KOPrefs::instance()->mMonthWeeklyRecur && event->doesRecur() == Recurrence::rWeekly )
558 return; 563 return;
559 } 564 }
560 565
561 if ( event->isHoliday()) { 566 if ( event->isHoliday()) {
562 setHoliday( true ); 567 setHoliday( true );
563 if ( mDate.dayOfWeek() == 7 ) 568 if ( mDate.dayOfWeek() == 7 )
564 setLineWidth( 3 ); 569 setLineWidth( 3 );
565 } 570 }
566 QString text; 571 QString text;
567 int multiday = 0;// 1 = start, 2 = midddle, 3 = end day 572 int multiday = 0;// 1 = start, 2 = midddle, 3 = end day
568 if (event->isMultiDay()) { 573 if (event->isMultiDay()) {
569 QString prefix = "<->";multiday = 2; 574 QString prefix = "<->";multiday = 2;
570 QString time; 575 QString time;
571 if ( event->doesRecur() ) { 576 if ( event->doesRecur() ) {
572 if ( event->recursOn( mDate) ) { 577 if ( event->recursOn( mDate) ) {
573 prefix ="->" ;multiday = 1; 578 prefix ="->" ;multiday = 1;
574 } 579 }
575 else { 580 else {
576 int days = event->dtStart().date().daysTo ( event->dtEnd().date() ); 581 int days = event->dtStart().date().daysTo ( event->dtEnd().date() );
577 if ( event->recursOn( mDate.addDays( -days)) ) { 582 if ( event->recursOn( mDate.addDays( -days)) ) {
578 prefix ="<-" ;multiday = 3; 583 prefix ="<-" ;multiday = 3;
579 } 584 }
580 } 585 }
581 586
582 } else { 587 } else {
583 if (mDate == event->dtStart().date()) { 588 if (mDate == event->dtStart().date()) {
584 prefix ="->" ;multiday = 1; 589 prefix ="->" ;multiday = 1;
585 } else if (mDate == event->dtEnd().date()) { 590 } else if (mDate == event->dtEnd().date()) {
586 prefix ="<-" ;multiday = 3; 591 prefix ="<-" ;multiday = 3;
587 } 592 }
588 } 593 }
589 if ( !event->doesFloat() ) { 594 if ( !event->doesFloat() ) {
590 if ( mDate == event->dtStart().date () ) 595 if ( mDate == event->dtStart().date () )
591 time = KGlobal::locale()->formatTime(event->dtStart().time())+" "; 596 time = KGlobal::locale()->formatTime(event->dtStart().time())+" ";
592 else if ( mDate == event->dtEnd().date () ) 597 else if ( mDate == event->dtEnd().date () )
593 time = KGlobal::locale()->formatTime(event->dtEnd().time())+" "; 598 time = KGlobal::locale()->formatTime(event->dtEnd().time())+" ";
594 599
595 } 600 }
596 text = time + event->summary(); 601 text = time + event->summary();
597 mToolTipText += prefix + text; 602 mToolTipText += prefix + text;
598 } else { 603 } else {
599 if (event->doesFloat()) { 604 if (event->doesFloat()) {
600 text = event->summary(); 605 text = event->summary();
601 mToolTipText += text; 606 mToolTipText += text;
602 } 607 }
603 else { 608 else {
604 text = KGlobal::locale()->formatTime(event->dtStart().time()); 609 text = KGlobal::locale()->formatTime(event->dtStart().time());
605 text += " " + event->summary(); 610 text += " " + event->summary();
606 mToolTipText += KGlobal::locale()->formatTime(event->dtStart().time()) +"-"+KGlobal::locale()->formatTime(event->dtEnd().time())+" " + event->summary(); 611 mToolTipText += KGlobal::locale()->formatTime(event->dtStart().time()) +"-"+KGlobal::locale()->formatTime(event->dtEnd().time())+" " + event->summary();
607 } 612 }
608 } 613 }
609 MonthViewItem *item ; 614 MonthViewItem *item ;
610 if ( mCurrentAvailItem ) { 615 if ( mCurrentAvailItem ) {
611 item = mCurrentAvailItem; 616 item = mCurrentAvailItem;
612 mCurrentAvailItem = (MonthViewItem*) item->next(); 617 mCurrentAvailItem = (MonthViewItem*) item->next();
613 item->recycle( event, mDate, text ); 618 item->recycle( event, mDate, text );
614 } else { 619 } else {
615 if ( mAvailItemList.count() ) { 620 if ( mAvailItemList.count() ) {
616 item = mAvailItemList.first(); 621 item = mAvailItemList.first();
617 mAvailItemList.remove( item ); 622 mAvailItemList.remove( item );
618 item->recycle( event, mDate, text ); 623 item->recycle( event, mDate, text );
619 insertNewItem = true; 624 insertNewItem = true;
620 } else { 625 } else {
621 insertNewItem = true; 626 insertNewItem = true;
622 item = new MonthViewItem( event, mDate, text ); 627 item = new MonthViewItem( event, mDate, text );
623 } 628 }
624 } 629 }
625 QPalette pal; 630 QPalette pal;
626 if (KOPrefs::instance()->mMonthViewUsesCategoryColor) { 631 if (KOPrefs::instance()->mMonthViewUsesCategoryColor) {
627 QStringList categories = event->categories(); 632 QStringList categories = event->categories();
628 QString cat = categories.first(); 633 QString cat = categories.first();
629 if ( KOPrefs::instance()->mMonthViewUsesForegroundColor ) { 634 if ( KOPrefs::instance()->mMonthViewUsesForegroundColor ) {
630 pal = getPalette(); 635 pal = getPalette();
631 if (cat.isEmpty()) { 636 if (cat.isEmpty()) {
632 pal.setColor(QColorGroup::Foreground,KOPrefs::instance()->mEventColor); 637 pal.setColor(QColorGroup::Foreground,KOPrefs::instance()->mEventColor);
633 } else { 638 } else {
634 pal.setColor(QColorGroup::Foreground, *(KOPrefs::instance()->categoryColor(cat))); 639 pal.setColor(QColorGroup::Foreground, *(KOPrefs::instance()->categoryColor(cat)));
635 } 640 }
636 641
637 } else { 642 } else {
638 if (cat.isEmpty()) { 643 if (cat.isEmpty()) {
639 pal = QPalette(KOPrefs::instance()->mEventColor, KOPrefs::instance()->mEventColor); 644 pal = QPalette(KOPrefs::instance()->mEventColor, KOPrefs::instance()->mEventColor);
640 } else { 645 } else {
641 pal = QPalette(*(KOPrefs::instance()->categoryColor(cat)), *(KOPrefs::instance()->categoryColor(cat))); 646 pal = QPalette(*(KOPrefs::instance()->categoryColor(cat)), *(KOPrefs::instance()->categoryColor(cat)));
642 } 647 }
643 } 648 }
644 649
645 } else { 650 } else {
646 pal = mStandardPalette ; 651 pal = mStandardPalette ;
647 } 652 }
648 item->setPalette( pal ); 653 item->setPalette( pal );
649 item->setRecur( event->recurrence()->doesRecur() ); 654 item->setRecur( event->recurrence()->doesRecur() );
650 item->setAlarm( event->isAlarmEnabled() && multiday < 2 ); 655 item->setAlarm( event->isAlarmEnabled() && multiday < 2 );
651 item->setMoreInfo( event->description().length() > 0 ); 656 item->setMoreInfo( event->description().length() > 0 );
652#ifdef DESKTOP_VERSION 657#ifdef DESKTOP_VERSION
653 Attendee *me = event->attendeeByMails(KOPrefs::instance()->mAdditionalMails, 658 Attendee *me = event->attendeeByMails(KOPrefs::instance()->mAdditionalMails,
654 KOPrefs::instance()->email()); 659 KOPrefs::instance()->email());
655 if ( me != 0 ) { 660 if ( me != 0 ) {
656 if ( me->status() == Attendee::NeedsAction && me->RSVP()) 661 if ( me->status() == Attendee::NeedsAction && me->RSVP())
657 item->setReply(true && multiday < 2); 662 item->setReply(true && multiday < 2);
658 else 663 else
659 item->setReply(false); 664 item->setReply(false);
660 } else 665 } else
661 item->setReply(false); 666 item->setReply(false);
662#endif 667#endif
663 item->setMultiDay( multiday ); 668 item->setMultiDay( multiday );
664 if ( insertNewItem) 669 if ( insertNewItem)
665 insertItem( item ); 670 insertItem( item );
666 mToolTip.append( mToolTipText ); 671 mToolTip.append( mToolTipText );
667} 672}
668void MonthViewCell::insertTodo(Todo *todo) 673void MonthViewCell::insertTodo(Todo *todo)
669{ 674{
670 bool insertNewItem = false; 675 bool insertNewItem = false;
671 setFocusPolicy(WheelFocus); 676 setFocusPolicy(WheelFocus);
672 QString text; 677 QString text;
673 if (todo->hasDueDate()) { 678 if (todo->hasDueDate()) {
674 if (!todo->doesFloat()) { 679 if (!todo->doesFloat()) {
675 text += KGlobal::locale()->formatTime(todo->dtDue().time()); 680 text += KGlobal::locale()->formatTime(todo->dtDue().time());
676 text += " "; 681 text += " ";
677 } 682 }
678 } 683 }
679 text += todo->summary(); 684 text += todo->summary();
680 MonthViewItem *item ; 685 MonthViewItem *item ;
681 if ( mCurrentAvailItem ) { 686 if ( mCurrentAvailItem ) {
682 item = mCurrentAvailItem; 687 item = mCurrentAvailItem;
683 mCurrentAvailItem = (MonthViewItem*) item->next(); 688 mCurrentAvailItem = (MonthViewItem*) item->next();
684 item->recycle( todo, mDate, text ); 689 item->recycle( todo, mDate, text );
685 } else { 690 } else {
686 if ( mAvailItemList.count() ) { 691 if ( mAvailItemList.count() ) {
687 item = mAvailItemList.first(); 692 item = mAvailItemList.first();
688 mAvailItemList.remove( item ); 693 mAvailItemList.remove( item );
689 item->recycle( todo, mDate, text ); 694 item->recycle( todo, mDate, text );
690 insertNewItem = true; 695 insertNewItem = true;
691 } else { 696 } else {
692 insertNewItem = true; 697 insertNewItem = true;
693 item = new MonthViewItem( todo, mDate, text ); 698 item = new MonthViewItem( todo, mDate, text );
694 } 699 }
695 } 700 }
696 //MonthViewItem *item = new MonthViewItem( todo, mDate, text ); 701 //MonthViewItem *item = new MonthViewItem( todo, mDate, text );
697 //item->setPalette( mStandardPalette ); 702 //item->setPalette( mStandardPalette );
698 QPalette pal; 703 QPalette pal;
699 if (KOPrefs::instance()->mMonthViewUsesCategoryColor) { 704 if (KOPrefs::instance()->mMonthViewUsesCategoryColor) {
700 QStringList categories = todo->categories(); 705 QStringList categories = todo->categories();
701 QString cat = categories.first(); 706 QString cat = categories.first();
702 if ( KOPrefs::instance()->mMonthViewUsesForegroundColor ) { 707 if ( KOPrefs::instance()->mMonthViewUsesForegroundColor ) {
703 pal = getPalette(); 708 pal = getPalette();
704 if (cat.isEmpty()) { 709 if (cat.isEmpty()) {
705 pal.setColor(QColorGroup::Foreground,KOPrefs::instance()->mEventColor); 710 pal.setColor(QColorGroup::Foreground,KOPrefs::instance()->mEventColor);
706 } else { 711 } else {
707 pal.setColor(QColorGroup::Foreground, *(KOPrefs::instance()->categoryColor(cat))); 712 pal.setColor(QColorGroup::Foreground, *(KOPrefs::instance()->categoryColor(cat)));
708 } 713 }
709 714
710 } else { 715 } else {
711 if (cat.isEmpty()) { 716 if (cat.isEmpty()) {
712 pal = QPalette(KOPrefs::instance()->mEventColor, KOPrefs::instance()->mEventColor); 717 pal = QPalette(KOPrefs::instance()->mEventColor, KOPrefs::instance()->mEventColor);
713 } else { 718 } else {
714 pal = QPalette(*(KOPrefs::instance()->categoryColor(cat)), *(KOPrefs::instance()->categoryColor(cat))); 719 pal = QPalette(*(KOPrefs::instance()->categoryColor(cat)), *(KOPrefs::instance()->categoryColor(cat)));
715 } 720 }
716 } 721 }
717 722
718 } else { 723 } else {
719 pal = mStandardPalette ; 724 pal = mStandardPalette ;
720 } 725 }
721 item->setPalette( pal ); 726 item->setPalette( pal );
722 item->setRecur( todo->recurrence()->doesRecur() ); 727 item->setRecur( todo->recurrence()->doesRecur() );
723 item->setAlarm( todo->isAlarmEnabled() ); 728 item->setAlarm( todo->isAlarmEnabled() );
724 item->setMoreInfo( todo->description().length() > 0 ); 729 item->setMoreInfo( todo->description().length() > 0 );
725 if ( insertNewItem) 730 if ( insertNewItem)
726 insertItem( item ); 731 insertItem( item );
727 mToolTip.append( text ); 732 mToolTip.append( text );
728} 733}
729void MonthViewCell::repaintfinishUpdateCell() 734void MonthViewCell::repaintfinishUpdateCell()
730{ 735{
731 MonthViewItem *mitem = (MonthViewItem*) firstItem (); 736 MonthViewItem *mitem = (MonthViewItem*) firstItem ();
732 while ( mitem ) { 737 while ( mitem ) {
733 mitem->setBlockRepaint( false ); 738 mitem->setBlockRepaint( false );
734 updateItem ( mitem ); 739 updateItem ( mitem );
735 mitem = (MonthViewItem *)mitem->next(); 740 mitem = (MonthViewItem *)mitem->next();
736 } 741 }
737} 742}
738void MonthViewCell::finishUpdateCell() 743void MonthViewCell::finishUpdateCell()
739{ 744{
740 while ( mCurrentAvailItem ) { 745 while ( mCurrentAvailItem ) {
741 MonthViewItem *item = mCurrentAvailItem; 746 MonthViewItem *item = mCurrentAvailItem;
742 mCurrentAvailItem = (MonthViewItem *)item->next(); 747 mCurrentAvailItem = (MonthViewItem *)item->next();
743 mAvailItemList.append( item ); 748 mAvailItemList.append( item );
744 takeItem ( item ); 749 takeItem ( item );
745 } 750 }
746 751
747 752
748#ifdef DESKTOP_VERSION 753#ifdef DESKTOP_VERSION
749 if (mToolTip.count() > 0 ) { 754 if (mToolTip.count() > 0 ) {
750 mToolTip.sort(); 755 mToolTip.sort();
751 QToolTip::add(this,mToolTip.join("\n"),toolTipGroup(),""); 756 QToolTip::add(this,mToolTip.join("\n"),toolTipGroup(),"");
752 } 757 }
753#endif 758#endif
754 sort(); 759 sort();
755 //setMyPalette(); 760 //setMyPalette();
756 setMyPalette(); 761 setMyPalette();
757 762
758 resizeEvent( 0 ); 763 resizeEvent( 0 );
759 764
760} 765}
761void MonthViewCell::updateCell() 766void MonthViewCell::updateCell()
762{ 767{
763 //qDebug("MonthViewCell::updateCell() "); 768 //qDebug("MonthViewCell::updateCell() ");
764 if ( !mMonthView->isUpdatePossible() ) 769 if ( !mMonthView->isUpdatePossible() )
765 return; 770 return;
766 startUpdateCell(); 771 startUpdateCell();
767 //mLabel->setMaximumWidth( width() - mItemList->lineWidth()*2); 772 //mLabel->setMaximumWidth( width() - mItemList->lineWidth()*2);
768 QPtrList<Event> events = mMonthView->calendar()->events( mDate, true ); 773 QPtrList<Event> events = mMonthView->calendar()->events( mDate, true );
769 Event *event; 774 Event *event;
770 for( event = events.first(); event; event = events.next() ) { // for event 775 for( event = events.first(); event; event = events.next() ) { // for event
771 insertEvent(event); 776 insertEvent(event);
772 } 777 }
773 // insert due todos 778 // insert due todos
774 QPtrList<Todo> todos = mMonthView->calendar()->todos( mDate ); 779 QPtrList<Todo> todos = mMonthView->calendar()->todos( mDate );
775 Todo *todo; 780 Todo *todo;
776 for(todo = todos.first(); todo; todo = todos.next()) { 781 for(todo = todos.first(); todo; todo = todos.next()) {
777 insertTodo( todo ); 782 insertTodo( todo );
778 } 783 }
779 finishUpdateCell(); 784 finishUpdateCell();
780 // if ( isVisible()) 785 // if ( isVisible())
781 //qApp->processEvents(); 786 //qApp->processEvents();
782} 787}
783 788
784void MonthViewCell::updateConfig( bool bigFont ) // = false 789void MonthViewCell::updateConfig( bool bigFont ) // = false
785{ 790{
786 791
787 if ( bigFont ) { 792 if ( bigFont ) {
788 QFont fo = KOPrefs::instance()->mMonthViewFont; 793 QFont fo = KOPrefs::instance()->mMonthViewFont;
789 int ps = fo.pointSize() + 2; 794 int ps = fo.pointSize() + 2;
790 if ( ps < 18 ) 795 if ( ps < 18 )
791 ps += 2; 796 ps += 2;
792 fo.setPointSize( ps ); 797 fo.setPointSize( ps );
793 setFont( fo ); 798 setFont( fo );
794 } else 799 } else
795 setFont( KOPrefs::instance()->mMonthViewFont ); 800 setFont( KOPrefs::instance()->mMonthViewFont );
796 801
797 QFontMetrics fm( font() ); 802 QFontMetrics fm( font() );
798 mLabelSize = fm.size( 0, "30" ) + QSize( 4, 2 ); 803 mLabelSize = fm.size( 0, "30" ) + QSize( 4, 2 );
799 mLabelBigSize = fm.size( 0, "Mag 30" ) + QSize( 2, 2 ); 804 mLabelBigSize = fm.size( 0, "Mag 30" ) + QSize( 2, 2 );
800 mHolidayPalette = mStandardPalette; 805 mHolidayPalette = mStandardPalette;
801 mPrimaryPalette = mStandardPalette; 806 mPrimaryPalette = mStandardPalette;
802 mNonPrimaryPalette = mStandardPalette; 807 mNonPrimaryPalette = mStandardPalette;
803 if ( KOPrefs::instance()->mMonthViewUsesDayColors ) { 808 if ( KOPrefs::instance()->mMonthViewUsesDayColors ) {
804 mHolidayPalette.setColor(QColorGroup::Base, KOPrefs::instance()->mMonthViewHolidayColor ); 809 mHolidayPalette.setColor(QColorGroup::Base, KOPrefs::instance()->mMonthViewHolidayColor );
805 mHolidayPalette.setColor(QColorGroup::Background, KOPrefs::instance()->mMonthViewHolidayColor ); 810 mHolidayPalette.setColor(QColorGroup::Background, KOPrefs::instance()->mMonthViewHolidayColor );
806 mHolidayPalette.setColor(QColorGroup::Foreground, KOPrefs::instance()->mMonthViewHolidayColor.dark()); 811 mHolidayPalette.setColor(QColorGroup::Foreground, KOPrefs::instance()->mMonthViewHolidayColor.dark());
807 mPrimaryPalette.setColor(QColorGroup::Foreground,KOPrefs::instance()->mMonthViewOddColor.dark()); 812 mPrimaryPalette.setColor(QColorGroup::Foreground,KOPrefs::instance()->mMonthViewOddColor.dark());
808 mPrimaryPalette.setColor(QColorGroup::Base,KOPrefs::instance()->mMonthViewOddColor); 813 mPrimaryPalette.setColor(QColorGroup::Base,KOPrefs::instance()->mMonthViewOddColor);
809 mPrimaryPalette.setColor(QColorGroup::Background,KOPrefs::instance()->mMonthViewOddColor); 814 mPrimaryPalette.setColor(QColorGroup::Background,KOPrefs::instance()->mMonthViewOddColor);
810 mNonPrimaryPalette.setColor(QColorGroup::Foreground,KOPrefs::instance()->mMonthViewEvenColor.dark()); 815 mNonPrimaryPalette.setColor(QColorGroup::Foreground,KOPrefs::instance()->mMonthViewEvenColor.dark());
811 mNonPrimaryPalette.setColor(QColorGroup::Base,KOPrefs::instance()->mMonthViewEvenColor); 816 mNonPrimaryPalette.setColor(QColorGroup::Base,KOPrefs::instance()->mMonthViewEvenColor);
812 mNonPrimaryPalette.setColor(QColorGroup::Background,KOPrefs::instance()->mMonthViewEvenColor); 817 mNonPrimaryPalette.setColor(QColorGroup::Background,KOPrefs::instance()->mMonthViewEvenColor);
813 } 818 }
814 //updateCell(); 819 //updateCell();
815} 820}
816 821
817void MonthViewCell::enableScrollBars( bool enabled ) 822void 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);
831 else 836 else
832 setHScrollBarMode(QScrollView::Auto); 837 setHScrollBarMode(QScrollView::Auto);
833 } else { 838 } else {
834 setVScrollBarMode(QScrollView::Auto); 839 setVScrollBarMode(QScrollView::Auto);
835 setHScrollBarMode(QScrollView::Auto); 840 setHScrollBarMode(QScrollView::Auto);
836 } 841 }
837 } else { 842 } else {
838 setVScrollBarMode(QScrollView::AlwaysOff); 843 setVScrollBarMode(QScrollView::AlwaysOff);
839 setHScrollBarMode(QScrollView::AlwaysOff); 844 setHScrollBarMode(QScrollView::AlwaysOff);
840 } 845 }
841} 846}
842 847
843Incidence *MonthViewCell::selectedIncidence() 848Incidence *MonthViewCell::selectedIncidence()
844{ 849{
845 int index = currentItem(); 850 int index = currentItem();
846 if ( index < 0 ) return 0; 851 if ( index < 0 ) return 0;
847 852
848 MonthViewItem *mitem = 853 MonthViewItem *mitem =
849 static_cast<MonthViewItem *>( item( index ) ); 854 static_cast<MonthViewItem *>( item( index ) );
850 855
851 if ( !mitem ) return 0; 856 if ( !mitem ) return 0;
852 857
853 return mitem->incidence(); 858 return mitem->incidence();
854} 859}
855 860
856QDate MonthViewCell::selectedIncidenceDate() 861QDate MonthViewCell::selectedIncidenceDate()
857{ 862{
858 QDate qd; 863 QDate qd;
859 int index = currentItem(); 864 int index = currentItem();
860 if ( index < 0 ) return qd; 865 if ( index < 0 ) return qd;
861 866
862 MonthViewItem *mitem = 867 MonthViewItem *mitem =
863 static_cast<MonthViewItem *>( item( index ) ); 868 static_cast<MonthViewItem *>( item( index ) );
864 869
865 if ( !mitem ) return qd; 870 if ( !mitem ) return qd;
866 871
867 return mitem->incidenceDate(); 872 return mitem->incidenceDate();
868} 873}
869 874
870void MonthViewCell::deselect() 875void MonthViewCell::deselect()
871{ 876{
872 clearSelection(); 877 clearSelection();
873 enableScrollBars( false ); 878 enableScrollBars( false );
874 // updateCell(); 879 // updateCell();
875} 880}
876void MonthViewCell::select() 881void MonthViewCell::select()
877{ 882{
878 ;// updateCell(); 883 ;// updateCell();
879} 884}
880 885
881void MonthViewCell::resizeEvent ( QResizeEvent * e ) 886void MonthViewCell::resizeEvent ( QResizeEvent * e )
882{ 887{
883 if ( !mMonthView->isUpdatePossible() ) 888 if ( !mMonthView->isUpdatePossible() )
884 return; 889 return;
885 //qDebug("++++++++++++++MonthViewCell::resizeEvent %d %d ", width(), height()); 890 //qDebug("++++++++++++++MonthViewCell::resizeEvent %d %d ", width(), height());
886 deselect(); 891 deselect();
887 mLabel->setMaximumHeight( height() - lineWidth()*2 ); 892 mLabel->setMaximumHeight( height() - lineWidth()*2 );
888 893
889 QString text; 894 QString text;
890 mLabel->setText( text ); 895 mLabel->setText( text );
891 bool smallDisplay = QApplication::desktop()->width() < 320 && KOPrefs::instance()->mMonthViewSatSunTog; 896 bool smallDisplay = QApplication::desktop()->width() < 320 && KOPrefs::instance()->mMonthViewSatSunTog;
892 if ( KOPrefs::instance()->mMonthViewWeek || KOGlobals::self()->calendarSystem()->day( mDate ) == 1 || (mDate.dayOfWeek() == 7 && !smallDisplay ) || KOPrefs::instance()->mMonthShowShort) { 897 if ( KOPrefs::instance()->mMonthViewWeek || KOGlobals::self()->calendarSystem()->day( mDate ) == 1 || (mDate.dayOfWeek() == 7 && !smallDisplay ) || KOPrefs::instance()->mMonthShowShort) {
893 text = KOGlobals::self()->calendarSystem()->monthName( mDate, true ) + " "; 898 text = KOGlobals::self()->calendarSystem()->monthName( mDate, true ) + " ";
894 mLabel->resize( mLabelBigSize ); 899 mLabel->resize( mLabelBigSize );
895 text += QString::number( KOGlobals::self()->calendarSystem()->day(mDate) ); 900 text += QString::number( KOGlobals::self()->calendarSystem()->day(mDate) );
896 } else { 901 } else {
897 mLabel->resize( mLabelSize ); 902 mLabel->resize( mLabelSize );
898 text += QString::number( KOGlobals::self()->calendarSystem()->day(mDate) ); 903 text += QString::number( KOGlobals::self()->calendarSystem()->day(mDate) );
899 } 904 }
900 mLabel->setText( text ); 905 mLabel->setText( text );
901 906
902 int size = height() - mLabel->height() - lineWidth()-1; 907 int size = height() - mLabel->height() - lineWidth()-1;
903 //qDebug("LW %d ", lineWidth()); 908 //qDebug("LW %d ", lineWidth());
904 if ( size > 0 ) 909 if ( size > 0 )
905 verticalScrollBar()->setMaximumHeight( size ); 910 verticalScrollBar()->setMaximumHeight( size );
906 size = width() - mLabel->width() -lineWidth()-1; 911 size = width() - mLabel->width() -lineWidth()-1;
907 if ( size > 0 ) 912 if ( size > 0 )
908 horizontalScrollBar()->setMaximumWidth( size ); 913 horizontalScrollBar()->setMaximumWidth( size );
909 mLabel->move( width()-lineWidth() - mLabel->width(), height()-lineWidth() - mLabel->height() ); 914 mLabel->move( width()-lineWidth() - mLabel->width(), height()-lineWidth() - mLabel->height() );
910 //mLabel->setMaximumWidth( width() - mItemList->lineWidth()*2); 915 //mLabel->setMaximumWidth( width() - mItemList->lineWidth()*2);
911 // mItemList->resize ( width(), height () ); 916 // mItemList->resize ( width(), height () );
912 if ( e ) 917 if ( e )
913 KNoScrollListBox::resizeEvent ( e ); 918 KNoScrollListBox::resizeEvent ( e );
914} 919}
915 920
916void MonthViewCell::defaultAction( QListBoxItem *item ) 921void MonthViewCell::defaultAction( QListBoxItem *item )
917{ 922{
918 if ( !item ) return; 923 if ( !item ) return;
919 924
920 MonthViewItem *eventItem = static_cast<MonthViewItem *>( item ); 925 MonthViewItem *eventItem = static_cast<MonthViewItem *>( item );
921 Incidence *incidence = eventItem->incidence(); 926 Incidence *incidence = eventItem->incidence();
922 if ( incidence ) mMonthView->defaultAction( incidence ); 927 if ( incidence ) mMonthView->defaultAction( incidence );
923} 928}
924void MonthViewCell::showDay() 929void MonthViewCell::showDay()
925{ 930{
926 emit showDaySignal( date() ); 931 emit showDaySignal( date() );
927} 932}
928void MonthViewCell::newEvent() 933void MonthViewCell::newEvent()
929{ 934{
930 QDateTime dt( date(), QTime( KOPrefs::instance()->mStartTime, 0 ) ); 935 QDateTime dt( date(), QTime( KOPrefs::instance()->mStartTime, 0 ) );
931 emit newEventSignal( dt ); 936 emit newEventSignal( dt );
932} 937}
933void MonthViewCell::cellClicked( QListBoxItem *item ) 938void MonthViewCell::cellClicked( QListBoxItem *item )
934{ 939{
935 static QListBoxItem * lastClicked = 0; 940 static QListBoxItem * lastClicked = 0;
936 if ( item == 0 ) { 941 if ( item == 0 ) {
937 QDateTime dt( date(), QTime( KOPrefs::instance()->mStartTime, 0 ) ); 942 QDateTime dt( date(), QTime( KOPrefs::instance()->mStartTime, 0 ) );
938 emit newEventSignal( dt ); 943 emit newEventSignal( dt );
939 return; 944 return;
940 } 945 }
941 /* 946 /*
942 if ( lastClicked ) 947 if ( lastClicked )
943 if ( ! item ) { 948 if ( ! item ) {
944 if ( lastClicked->listBox() != item->listBox() ) 949 if ( lastClicked->listBox() != item->listBox() )
945 lastClicked->listBox()->clearSelection(); 950 lastClicked->listBox()->clearSelection();
946 } 951 }
947 */ 952 */
948 953
949 mMonthView->setSelectedCell( this ); 954 mMonthView->setSelectedCell( this );
950 if( KOPrefs::instance()->mEnableMonthScroll || KOPrefs::instance()->mMonthViewWeek ) enableScrollBars( true ); 955 if( KOPrefs::instance()->mEnableMonthScroll || KOPrefs::instance()->mMonthViewWeek ) enableScrollBars( true );
951 select(); 956 select();
952} 957}
953 958
954void MonthViewCell::contextMenu( QListBoxItem *item ) 959void MonthViewCell::contextMenu( QListBoxItem *item )
955{ 960{
956 if ( !item ) return; 961 if ( !item ) return;
957 962
958 MonthViewItem *eventItem = static_cast<MonthViewItem *>( item ); 963 MonthViewItem *eventItem = static_cast<MonthViewItem *>( item );
959 Incidence *incidence = eventItem->incidence(); 964 Incidence *incidence = eventItem->incidence();
960 if ( incidence ) mMonthView->showContextMenu( incidence ); 965 if ( incidence ) mMonthView->showContextMenu( incidence );
961} 966}
962 967
963void MonthViewCell::selection( QListBoxItem *item ) 968void MonthViewCell::selection( QListBoxItem *item )
964{ 969{
965 if ( !item ) return; 970 if ( !item ) return;
966 971
967 mMonthView->setSelectedCell( this ); 972 mMonthView->setSelectedCell( this );
968} 973}
969 974
970 975
971// ******************************************************************************* 976// *******************************************************************************
972// ******************************************************************************* 977// *******************************************************************************
973// ******************************************************************************* 978// *******************************************************************************
974 979
975 980
976KOMonthView::KOMonthView(Calendar *calendar, QWidget *parent, const char *name) 981KOMonthView::KOMonthView(Calendar *calendar, QWidget *parent, const char *name)
977 : KOEventView( calendar, parent, name ), 982 : KOEventView( calendar, parent, name ),
978 mDaysPerWeek( 7 ), mNumWeeks( 6 ), mNumCells( mDaysPerWeek * mNumWeeks ), 983 mDaysPerWeek( 7 ), mNumWeeks( 6 ), mNumCells( mDaysPerWeek * mNumWeeks ),
979 mWidthLongDayLabel( 0 ), mSelectedCell( 0 ) 984 mWidthLongDayLabel( 0 ), mSelectedCell( 0 )
980{ 985{
981 mShortDayLabelsM = false; 986 mShortDayLabelsM = false;
982 mShortDayLabelsW = false; 987 mShortDayLabelsW = false;
983 skipResize = false; 988 skipResize = false;
984 clPending = true; 989 clPending = true;
985 mNavigatorBar = new NavigatorBar( QDate::currentDate(), this, "useBigPixmaps" ); 990 mNavigatorBar = new NavigatorBar( QDate::currentDate(), this, "useBigPixmaps" );
986 mWidStack = new QWidgetStack( this ); 991 mWidStack = new QWidgetStack( this );
987 QVBoxLayout* hb = new QVBoxLayout( this ); 992 QVBoxLayout* hb = new QVBoxLayout( this );
988 mMonthView = new QWidget( mWidStack ); 993 mMonthView = new QWidget( mWidStack );
989 mWeekView = new QWidget( mWidStack ); 994 mWeekView = new QWidget( mWidStack );
990#if QT_VERSION >= 0x030000 995#if QT_VERSION >= 0x030000
991 mWidStack->addWidget(mMonthView ); 996 mWidStack->addWidget(mMonthView );
992 mWidStack->addWidget(mWeekView ); 997 mWidStack->addWidget(mWeekView );
993#else 998#else
994 mWidStack->addWidget( mMonthView, 1 ); 999 mWidStack->addWidget( mMonthView, 1 );
995 mWidStack->addWidget( mWeekView , 1 ); 1000 mWidStack->addWidget( mWeekView , 1 );
996#endif 1001#endif
997 hb->addWidget( mNavigatorBar ); 1002 hb->addWidget( mNavigatorBar );
998 hb->addWidget( mWidStack ); 1003 hb->addWidget( mWidStack );
999 mWeekStartsMonday = KGlobal::locale()->weekStartsMonday(); 1004 mWeekStartsMonday = KGlobal::locale()->weekStartsMonday();
1000 mShowWeekView = KOPrefs::instance()->mMonthViewWeek; 1005 mShowWeekView = KOPrefs::instance()->mMonthViewWeek;
1001 if ( mShowWeekView ) 1006 if ( mShowWeekView )
1002 mWeekStartsMonday = true; 1007 mWeekStartsMonday = true;
1003 updatePossible = false; 1008 updatePossible = false;
1004 //updatePossible = true; 1009 //updatePossible = true;
1005 mCells.setAutoDelete( true ); 1010 mCells.setAutoDelete( true );
1006 mShowSatSunComp = KOPrefs::instance()->mMonthViewSatSunTog ; 1011 mShowSatSunComp = KOPrefs::instance()->mMonthViewSatSunTog ;
1007 mDayLabels.resize( mDaysPerWeek ); 1012 mDayLabels.resize( mDaysPerWeek );
1008 mDayLabelsW.resize( mDaysPerWeek ); 1013 mDayLabelsW.resize( mDaysPerWeek );
1009 QFont bfont = font(); 1014 QFont bfont = font();
1010 if ( QApplication::desktop()->width() < 650 ) { 1015 if ( QApplication::desktop()->width() < 650 ) {
1011 bfont.setPointSize( bfont.pointSize() - 2 ); 1016 bfont.setPointSize( bfont.pointSize() - 2 );
1012 } 1017 }
1013 bfont.setBold( true ); 1018 bfont.setBold( true );
1014 int i; 1019 int i;
1015 1020
1016 for( i = 0; i < mDaysPerWeek; i++ ) { 1021 for( i = 0; i < mDaysPerWeek; i++ ) {
1017 QLabel *label = new QLabel( mMonthView ); 1022 QLabel *label = new QLabel( mMonthView );
1018 label->setFont(bfont); 1023 label->setFont(bfont);
1019 label->setFrameStyle(QFrame::Panel|QFrame::Raised); 1024 label->setFrameStyle(QFrame::Panel|QFrame::Raised);