summaryrefslogtreecommitdiffabout
path: root/korganizer/komonthview.cpp
Unidiff
Diffstat (limited to 'korganizer/komonthview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/komonthview.cpp34
1 files changed, 26 insertions, 8 deletions
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp
index 1ed288b..425496a 100644
--- a/korganizer/komonthview.cpp
+++ b/korganizer/komonthview.cpp
@@ -260,37 +260,39 @@ void KNoScrollListBox::mousePressEvent(QMouseEvent *e)
260MonthViewItem::MonthViewItem( Incidence *incidence, QDate qd, const QString & s) 260MonthViewItem::MonthViewItem( Incidence *incidence, QDate qd, const QString & s)
261 : QListBoxItem() 261 : QListBoxItem()
262{ 262{
263 mblockRepaint = true; 263 mblockRepaint = true;
264 setText( s ); 264 setText( s );
265 mMultiday = 0; 265 mMultiday = 0;
266 mIncidence = incidence; 266 mIncidence = incidence;
267 mDate = qd; 267 mDate = qd;
268 mRecur = false; 268 mRecur = false;
269 mAlarm = false; 269 mAlarm = false;
270 mReply = false; 270 mReply = false;
271 mInfo = false; 271 mInfo = false;
272 mdayPos = 0;
272 isWeekItem = KOPrefs::instance()->mMonthViewWeek; 273 isWeekItem = KOPrefs::instance()->mMonthViewWeek;
273 //qDebug("NEWWWWWWWWWWWWW "); 274 //qDebug("NEWWWWWWWWWWWWW ");
274} 275}
275void MonthViewItem::recycle( Incidence *incidence, QDate qd, const QString & s) 276void MonthViewItem::recycle( Incidence *incidence, QDate qd, const QString & s)
276{ 277{
277 setText( s ); 278 setText( s );
278 mMultiday = 0; 279 mMultiday = 0;
279 mIncidence = incidence; 280 mIncidence = incidence;
280 mDate = qd; 281 mDate = qd;
281 mRecur = false; 282 mRecur = false;
282 mAlarm = false; 283 mAlarm = false;
283 mReply = false; 284 mReply = false;
284 mInfo = false; 285 mInfo = false;
286 mdayPos = 0;
285 //qDebug("recucleeeeeeeeeeeeeeeee "); 287 //qDebug("recucleeeeeeeeeeeeeeeee ");
286} 288}
287 289
288void MonthViewItem::paint(QPainter *p) 290void MonthViewItem::paint(QPainter *p)
289{ 291{
290 if ( mblockRepaint ) { 292 if ( mblockRepaint ) {
291 //qDebug("block "); 293 //qDebug("block ");
292 return; 294 return;
293 } 295 }
294 //qDebug("NON block "); 296 //qDebug("NON block ");
295#if QT_VERSION >= 0x030000 297#if QT_VERSION >= 0x030000
296 bool sel = isSelected(); 298 bool sel = isSelected();
@@ -561,25 +563,25 @@ void MonthViewCell::setHoliday( bool holiday )
561 563
562void MonthViewCell::setHoliday( const QString &holiday ) 564void MonthViewCell::setHoliday( const QString &holiday )
563{ 565{
564 mHolidayString = holiday; 566 mHolidayString = holiday;
565 567
566 if ( !holiday.isEmpty() ) { 568 if ( !holiday.isEmpty() ) {
567 setHoliday( true ); 569 setHoliday( true );
568 } 570 }
569} 571}
570 572
571void MonthViewCell::startUpdateCell() 573void MonthViewCell::startUpdateCell()
572{ 574{
573 575 mdayCount = 0;
574 setFocusPolicy(NoFocus); 576 setFocusPolicy(NoFocus);
575 if ( !mMonthView->isUpdatePossible() ) 577 if ( !mMonthView->isUpdatePossible() )
576 return; 578 return;
577 MonthViewItem *mitem = (MonthViewItem*) firstItem (); 579 MonthViewItem *mitem = (MonthViewItem*) firstItem ();
578 while ( mitem ) { 580 while ( mitem ) {
579 mitem->setBlockRepaint( true ); 581 mitem->setBlockRepaint( true );
580 mitem = (MonthViewItem *)mitem->next(); 582 mitem = (MonthViewItem *)mitem->next();
581 } 583 }
582 if ( mAvailItemList.count() > 20 ) { 584 if ( mAvailItemList.count() > 20 ) {
583 mAvailItemList.setAutoDelete( true ); 585 mAvailItemList.setAutoDelete( true );
584 mAvailItemList.clear(); 586 mAvailItemList.clear();
585 mAvailItemList.setAutoDelete( false ); 587 mAvailItemList.setAutoDelete( false );
@@ -612,34 +614,34 @@ void MonthViewCell::startUpdateCell()
612 mToolTip.clear(); 614 mToolTip.clear();
613 //qApp->processEvents(); 615 //qApp->processEvents();
614#if 0 616#if 0
615 if ( !mHolidayString.isEmpty() ) { 617 if ( !mHolidayString.isEmpty() ) {
616 MonthViewItem *item = new MonthViewItem( 0, mDate, mHolidayString ); 618 MonthViewItem *item = new MonthViewItem( 0, mDate, mHolidayString );
617 item->setPalette( mHolidayPalette ); 619 item->setPalette( mHolidayPalette );
618 insertItem( item ); 620 insertItem( item );
619 mToolTip.append ( mHolidayString ); 621 mToolTip.append ( mHolidayString );
620 } 622 }
621#endif 623#endif
622} 624}
623 625
624void MonthViewCell::insertEvent(Event *event) 626int MonthViewCell::insertEvent(Event *event)
625{ 627{
626 QString mToolTipText; 628 QString mToolTipText;
627 setFocusPolicy(WheelFocus); 629 setFocusPolicy(WheelFocus);
628 if ( !(event->doesRecur() == Recurrence::rNone) ) { 630 if ( !(event->doesRecur() == Recurrence::rNone) ) {
629 if ( !KOPrefs::instance()->mMonthDailyRecur && event->doesRecur() == Recurrence::rDaily ) 631 if ( !KOPrefs::instance()->mMonthDailyRecur && event->doesRecur() == Recurrence::rDaily )
630 return; 632 return mdayCount;
631 else 633 else
632 if ( !KOPrefs::instance()->mMonthWeeklyRecur && event->doesRecur() == Recurrence::rWeekly ) 634 if ( !KOPrefs::instance()->mMonthWeeklyRecur && event->doesRecur() == Recurrence::rWeekly )
633 return; 635 return mdayCount;
634 } 636 }
635 637
636 if ( event->isHoliday()) { 638 if ( event->isHoliday()) {
637 setHoliday( true ); 639 setHoliday( true );
638 if ( mDate.dayOfWeek() == 7 ) 640 if ( mDate.dayOfWeek() == 7 )
639 setLineWidth( 3 ); 641 setLineWidth( 3 );
640 } 642 }
641 QString text; 643 QString text;
642 int multiday = 0;// 1 = start, 2 = midddle, 3 = end day 644 int multiday = 0;// 1 = start, 2 = midddle, 3 = end day
643 if (event->isMultiDay()) { 645 if (event->isMultiDay()) {
644 QString prefix = "<->";multiday = 2; 646 QString prefix = "<->";multiday = 2;
645 QString time; 647 QString time;
@@ -721,26 +723,42 @@ void MonthViewCell::insertEvent(Event *event)
721#ifdef DESKTOP_VERSION 723#ifdef DESKTOP_VERSION
722 Attendee *me = event->attendeeByMails(KOPrefs::instance()->mAdditionalMails, 724 Attendee *me = event->attendeeByMails(KOPrefs::instance()->mAdditionalMails,
723 KOPrefs::instance()->email()); 725 KOPrefs::instance()->email());
724 if ( me != 0 ) { 726 if ( me != 0 ) {
725 if ( me->status() == Attendee::NeedsAction && me->RSVP()) 727 if ( me->status() == Attendee::NeedsAction && me->RSVP())
726 item->setReply(true && multiday < 2); 728 item->setReply(true && multiday < 2);
727 else 729 else
728 item->setReply(false); 730 item->setReply(false);
729 } else 731 } else
730 item->setReply(false); 732 item->setReply(false);
731#endif 733#endif
732 item->setMultiDay( multiday ); 734 item->setMultiDay( multiday );
733 insertItem( item ); 735 if ( multiday ) {
736 insertItem( item ,mdayCount);
737 ++mdayCount;
738 } else {
739 uint i;
740 int pos = mdayCount;
741 for ( i = mdayCount; i < count();++i ) {
742 QListBoxItem* it = this->item ( i );
743 if ( text < it->text() ) {
744 pos = i;
745 break;
746 }
747 ++pos;
748 }
749 insertItem( item ,pos);
750 }
734 mToolTip.append( mToolTipText ); 751 mToolTip.append( mToolTipText );
752 return mdayCount;
735} 753}
736void MonthViewCell::insertTodo(Todo *todo) 754void MonthViewCell::insertTodo(Todo *todo)
737{ 755{
738 setFocusPolicy(WheelFocus); 756 setFocusPolicy(WheelFocus);
739 QString text; 757 QString text;
740 if (todo->hasDueDate()) { 758 if (todo->hasDueDate()) {
741 if (!todo->doesFloat()) { 759 if (!todo->doesFloat()) {
742 text += KGlobal::locale()->formatTime(todo->dtDue().time()); 760 text += KGlobal::locale()->formatTime(todo->dtDue().time());
743 text += " "; 761 text += " ";
744 } 762 }
745 } 763 }
746 text += todo->summary(); 764 text += todo->summary();
@@ -772,48 +790,48 @@ void MonthViewCell::insertTodo(Todo *todo)
772 } else { 790 } else {
773 pal = QPalette(*(KOPrefs::instance()->categoryColor(cat)), *(KOPrefs::instance()->categoryColor(cat))); 791 pal = QPalette(*(KOPrefs::instance()->categoryColor(cat)), *(KOPrefs::instance()->categoryColor(cat)));
774 } 792 }
775 } 793 }
776 794
777 } else { 795 } else {
778 pal = mStandardPalette ; 796 pal = mStandardPalette ;
779 } 797 }
780 item->setPalette( pal ); 798 item->setPalette( pal );
781 item->setRecur( todo->recurrence()->doesRecur() ); 799 item->setRecur( todo->recurrence()->doesRecur() );
782 item->setAlarm( todo->isAlarmEnabled() ); 800 item->setAlarm( todo->isAlarmEnabled() );
783 item->setMoreInfo( todo->description().length() > 0 ); 801 item->setMoreInfo( todo->description().length() > 0 );
784 insertItem( item ); 802 insertItem( item , count());
785 mToolTip.append( text ); 803 mToolTip.append( text );
786} 804}
787void MonthViewCell::repaintfinishUpdateCell() 805void MonthViewCell::repaintfinishUpdateCell()
788{ 806{
789 MonthViewItem *mitem = (MonthViewItem*) firstItem (); 807 MonthViewItem *mitem = (MonthViewItem*) firstItem ();
790 while ( mitem ) { 808 while ( mitem ) {
791 mitem->setBlockRepaint( false ); 809 mitem->setBlockRepaint( false );
792 updateItem ( mitem ); 810 updateItem ( mitem );
793 mitem = (MonthViewItem *)mitem->next(); 811 mitem = (MonthViewItem *)mitem->next();
794 } 812 }
795} 813}
796void MonthViewCell::finishUpdateCell() 814void MonthViewCell::finishUpdateCell()
797{ 815{
798 816
799 817
800 818
801#ifdef DESKTOP_VERSION 819#ifdef DESKTOP_VERSION
802 if (mToolTip.count() > 0 ) { 820 if (mToolTip.count() > 0 ) {
803 mToolTip.sort(); 821 mToolTip.sort();
804 QToolTip::add(this,mToolTip.join("\n"),toolTipGroup(),""); 822 QToolTip::add(this,mToolTip.join("\n"),toolTipGroup(),"");
805 } 823 }
806#endif 824#endif
807 sort(); 825 //sort();
808 //setMyPalette(); 826 //setMyPalette();
809 setMyPalette(); 827 setMyPalette();
810 828
811 resizeEvent( 0 ); 829 resizeEvent( 0 );
812 830
813} 831}
814void MonthViewCell::updateCell() 832void MonthViewCell::updateCell()
815{ 833{
816 //qDebug("MonthViewCell::updateCell() "); 834 //qDebug("MonthViewCell::updateCell() ");
817 if ( !mMonthView->isUpdatePossible() ) 835 if ( !mMonthView->isUpdatePossible() )
818 return; 836 return;
819 startUpdateCell(); 837 startUpdateCell();