summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koagendaview.cpp1
-rw-r--r--korganizer/kodaymatrix.cpp1
2 files changed, 2 insertions, 0 deletions
diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp
index d43712f..aa36553 100644
--- a/korganizer/koagendaview.cpp
+++ b/korganizer/koagendaview.cpp
@@ -759,128 +759,129 @@ void KOAgendaView::createDayLabels()
759 QString addString; 759 QString addString;
760 if ( mSelectedDates.first() == QDateTime::currentDateTime().date() ) 760 if ( mSelectedDates.first() == QDateTime::currentDateTime().date() )
761 addString = i18n("Today"); 761 addString = i18n("Today");
762 else if ( mSelectedDates.first() == QDateTime::currentDateTime().date().addDays(1) ) 762 else if ( mSelectedDates.first() == QDateTime::currentDateTime().date().addDays(1) )
763 addString = i18n("Tomorrow"); 763 addString = i18n("Tomorrow");
764 else if ( mSelectedDates.first() == QDateTime::currentDateTime().date().addDays(-1) ) 764 else if ( mSelectedDates.first() == QDateTime::currentDateTime().date().addDays(-1) )
765 addString = i18n("Yesterday"); 765 addString = i18n("Yesterday");
766 else if ( mSelectedDates.first() == QDateTime::currentDateTime().date().addDays(-2) ) 766 else if ( mSelectedDates.first() == QDateTime::currentDateTime().date().addDays(-2) )
767 addString = i18n("Day before yesterday"); 767 addString = i18n("Day before yesterday");
768 else if ( mSelectedDates.first() == QDateTime::currentDateTime().date().addDays(2) ) 768 else if ( mSelectedDates.first() == QDateTime::currentDateTime().date().addDays(2) )
769 addString = i18n("Day after tomorrow"); 769 addString = i18n("Day after tomorrow");
770 if ( !addString.isEmpty() ) { 770 if ( !addString.isEmpty() ) {
771 str = addString+", " + str; 771 str = addString+", " + str;
772 } 772 }
773 } 773 }
774 dayLabel->setText(str); 774 dayLabel->setText(str);
775 //dayLabel->setAlignment(QLabel::AlignHCenter); 775 //dayLabel->setAlignment(QLabel::AlignHCenter);
776 if (date == QDate::currentDate()) { 776 if (date == QDate::currentDate()) {
777 QFont bFont = dlf; 777 QFont bFont = dlf;
778 bFont.setBold( true ); 778 bFont.setBold( true );
779 dayLabel->setFont(bFont); 779 dayLabel->setFont(bFont);
780 } 780 }
781 //dayLayout->addWidget(dayLabel); 781 //dayLayout->addWidget(dayLabel);
782 782
783#ifndef KORG_NOPLUGINS 783#ifndef KORG_NOPLUGINS
784 CalendarDecoration::List cds = KOCore::self()->calendarDecorations(); 784 CalendarDecoration::List cds = KOCore::self()->calendarDecorations();
785 CalendarDecoration *it; 785 CalendarDecoration *it;
786 for(it = cds.first(); it; it = cds.next()) { 786 for(it = cds.first(); it; it = cds.next()) {
787 QString text = it->shortText( date ); 787 QString text = it->shortText( date );
788 if ( !text.isEmpty() ) { 788 if ( !text.isEmpty() ) {
789 QLabel *label = new QLabel(text,mDayLabels); 789 QLabel *label = new QLabel(text,mDayLabels);
790 label->setAlignment(AlignCenter); 790 label->setAlignment(AlignCenter);
791 dayLayout->addWidget(label); 791 dayLayout->addWidget(label);
792 } 792 }
793 } 793 }
794 794
795 for(it = cds.first(); it; it = cds.next()) { 795 for(it = cds.first(); it; it = cds.next()) {
796 QWidget *wid = it->smallWidget(mDayLabels,date); 796 QWidget *wid = it->smallWidget(mDayLabels,date);
797 if ( wid ) { 797 if ( wid ) {
798 // wid->setHeight(20); 798 // wid->setHeight(20);
799 dayLayout->addWidget(wid); 799 dayLayout->addWidget(wid);
800 } 800 }
801 } 801 }
802#endif 802#endif
803 } 803 }
804 if ( ! appendLabels ) { 804 if ( ! appendLabels ) {
805 dayLabel = mDayLabelsList.next(); 805 dayLabel = mDayLabelsList.next();
806 if ( !dayLabel ) 806 if ( !dayLabel )
807 appendLabels = true; 807 appendLabels = true;
808 } 808 }
809 if ( appendLabels ) { 809 if ( appendLabels ) {
810 dayLabel = new QPushButton(mDayLabels); 810 dayLabel = new QPushButton(mDayLabels);
811 dayLabel->setFlat( true ); 811 dayLabel->setFlat( true );
812 connect( dayLabel, SIGNAL( clicked() ), this, SLOT ( slotDaylabelClicked() ) ); 812 connect( dayLabel, SIGNAL( clicked() ), this, SLOT ( slotDaylabelClicked() ) );
813 dayLabel->setFocusPolicy(NoFocus); 813 dayLabel->setFocusPolicy(NoFocus);
814 mDayLabelsList.append( dayLabel ); 814 mDayLabelsList.append( dayLabel );
815 mLayoutDayLabels->addWidget(dayLabel); 815 mLayoutDayLabels->addWidget(dayLabel);
816 } 816 }
817 //dayLabel->hide();//test only 817 //dayLabel->hide();//test only
818 818
819 int offset = (mAgenda->width() - mAgenda->verticalScrollBar()->width()-3 ) % mSelectedDates.count() ; 819 int offset = (mAgenda->width() - mAgenda->verticalScrollBar()->width()-3 ) % mSelectedDates.count() ;
820 if ( offset < 0 ) offset = 0; 820 if ( offset < 0 ) offset = 0;
821 //qDebug("mLayoutDayLabels->addSpacing %d ", mAgenda->verticalScrollBar()->width()+offset+2 ); 821 //qDebug("mLayoutDayLabels->addSpacing %d ", mAgenda->verticalScrollBar()->width()+offset+2 );
822 dayLabel->setText(">");//QString::number ( mSelectedDates.first().month() ) ); 822 dayLabel->setText(">");//QString::number ( mSelectedDates.first().month() ) );
823 dayLabel->setFont( dlf );
823 dayLabel->show(); 824 dayLabel->show();
824 dayLabel->setCaption("last"); 825 dayLabel->setCaption("last");
825 dayLabel->setFixedWidth( mAgenda->verticalScrollBar()->width()+ offset ); 826 dayLabel->setFixedWidth( mAgenda->verticalScrollBar()->width()+ offset );
826 //qDebug("setToFixed %d ", mAgenda->verticalScrollBar()->width()+ offset+2); 827 //qDebug("setToFixed %d ", mAgenda->verticalScrollBar()->width()+ offset+2);
827 //mLayoutDayLabels->addSpacing(mAgenda->verticalScrollBar()->width()+ offset+2); 828 //mLayoutDayLabels->addSpacing(mAgenda->verticalScrollBar()->width()+ offset+2);
828 if ( !appendLabels ) { 829 if ( !appendLabels ) {
829 dayLabel = mDayLabelsList.next(); 830 dayLabel = mDayLabelsList.next();
830 while ( dayLabel ) { 831 while ( dayLabel ) {
831 //qDebug("!dayLabel %d",dayLabel ); 832 //qDebug("!dayLabel %d",dayLabel );
832 dayLabel->hide(); 833 dayLabel->hide();
833 dayLabel = mDayLabelsList.next(); 834 dayLabel = mDayLabelsList.next();
834 } 835 }
835 } 836 }
836 //mDayLabelsFrame->show(); 837 //mDayLabelsFrame->show();
837 //mDayLabels->show(); 838 //mDayLabels->show();
838 //qDebug("heigt %d %d %d ",mDayLabelsFrame->height(), mDayLabelsFrame->sizeHint().height(), newHight); 839 //qDebug("heigt %d %d %d ",mDayLabelsFrame->height(), mDayLabelsFrame->sizeHint().height(), newHight);
839 //mDayLabelsFrame->resize( mAgenda->visibleWidth(), newHight ); 840 //mDayLabelsFrame->resize( mAgenda->visibleWidth(), newHight );
840 mDayLabelsFrame->setFixedHeight( newHight ); 841 mDayLabelsFrame->setFixedHeight( newHight );
841} 842}
842 843
843int KOAgendaView::maxDatesHint() 844int KOAgendaView::maxDatesHint()
844{ 845{
845 // Not sure about the max number of events, so return 0 for now. 846 // Not sure about the max number of events, so return 0 for now.
846 return 0; 847 return 0;
847} 848}
848 849
849int KOAgendaView::currentDateCount() 850int KOAgendaView::currentDateCount()
850{ 851{
851 return mSelectedDates.count(); 852 return mSelectedDates.count();
852} 853}
853 854
854QPtrList<Incidence> KOAgendaView::selectedIncidences() 855QPtrList<Incidence> KOAgendaView::selectedIncidences()
855{ 856{
856 QPtrList<Incidence> selected; 857 QPtrList<Incidence> selected;
857 Incidence *incidence; 858 Incidence *incidence;
858 859
859 incidence = mAgenda->selectedIncidence(); 860 incidence = mAgenda->selectedIncidence();
860 if (incidence) selected.append(incidence); 861 if (incidence) selected.append(incidence);
861 862
862 incidence = mAllDayAgenda->selectedIncidence(); 863 incidence = mAllDayAgenda->selectedIncidence();
863 if (incidence) selected.append(incidence); 864 if (incidence) selected.append(incidence);
864 865
865 return selected; 866 return selected;
866} 867}
867 868
868DateList KOAgendaView::selectedDates() 869DateList KOAgendaView::selectedDates()
869{ 870{
870 DateList selected; 871 DateList selected;
871 QDate qd; 872 QDate qd;
872 873
873 qd = mAgenda->selectedIncidenceDate(); 874 qd = mAgenda->selectedIncidenceDate();
874 if (qd.isValid()) selected.append(qd); 875 if (qd.isValid()) selected.append(qd);
875 876
876 qd = mAllDayAgenda->selectedIncidenceDate(); 877 qd = mAllDayAgenda->selectedIncidenceDate();
877 if (qd.isValid()) selected.append(qd); 878 if (qd.isValid()) selected.append(qd);
878 879
879 return selected; 880 return selected;
880} 881}
881 882
882 883
883void KOAgendaView::updateView() 884void KOAgendaView::updateView()
884{ 885{
885 if ( mBlockUpdating ) 886 if ( mBlockUpdating )
886 return; 887 return;
diff --git a/korganizer/kodaymatrix.cpp b/korganizer/kodaymatrix.cpp
index 549ef2a..dd83d48 100644
--- a/korganizer/kodaymatrix.cpp
+++ b/korganizer/kodaymatrix.cpp
@@ -429,128 +429,129 @@ void KODayMatrix::dropEvent(QDropEvent *e)
429// kdDebug() << "KODayMatrix::dropEvent(e) begin" << endl; 429// kdDebug() << "KODayMatrix::dropEvent(e) begin" << endl;
430 430
431 if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) ) { 431 if ( !ICalDrag::canDecode( e ) && !VCalDrag::canDecode( e ) ) {
432 e->ignore(); 432 e->ignore();
433 return; 433 return;
434 } 434 }
435 435
436 DndFactory factory( mCalendar ); 436 DndFactory factory( mCalendar );
437 Event *event = factory.createDrop(e); 437 Event *event = factory.createDrop(e);
438 438
439 if (event) { 439 if (event) {
440 e->acceptAction(); 440 e->acceptAction();
441 441
442 Event *existingEvent = mCalendar->event(event->uid()); 442 Event *existingEvent = mCalendar->event(event->uid());
443 443
444 if(existingEvent) { 444 if(existingEvent) {
445 // uniquify event 445 // uniquify event
446 event->recreate(); 446 event->recreate();
447/* 447/*
448 KMessageBox::sorry(this, 448 KMessageBox::sorry(this,
449 i18n("Event already exists in this calendar."), 449 i18n("Event already exists in this calendar."),
450 i18n("Drop Event")); 450 i18n("Drop Event"));
451 delete event; 451 delete event;
452 return; 452 return;
453*/ 453*/
454 } 454 }
455// kdDebug() << "Drop new Event" << endl; 455// kdDebug() << "Drop new Event" << endl;
456 // Adjust date 456 // Adjust date
457 QDateTime start = event->dtStart(); 457 QDateTime start = event->dtStart();
458 QDateTime end = event->dtEnd(); 458 QDateTime end = event->dtEnd();
459 int duration = start.daysTo(end); 459 int duration = start.daysTo(end);
460 int idx = getDayIndexFrom(e->pos().x(), e->pos().y()); 460 int idx = getDayIndexFrom(e->pos().x(), e->pos().y());
461 461
462 start.setDate(days[idx]); 462 start.setDate(days[idx]);
463 end.setDate(days[idx].addDays(duration)); 463 end.setDate(days[idx].addDays(duration));
464 464
465 event->setDtStart(start); 465 event->setDtStart(start);
466 event->setDtEnd(end); 466 event->setDtEnd(end);
467 mCalendar->addEvent(event); 467 mCalendar->addEvent(event);
468 468
469 emit eventDropped(event); 469 emit eventDropped(event);
470 } else { 470 } else {
471// kdDebug() << "KODayMatrix::dropEvent(): Event from drop not decodable" << endl; 471// kdDebug() << "KODayMatrix::dropEvent(): Event from drop not decodable" << endl;
472 e->ignore(); 472 e->ignore();
473 } 473 }
474#endif 474#endif
475} 475}
476 476
477// ---------------------------------------------------------------------------- 477// ----------------------------------------------------------------------------
478// P A I N T E V E N T H A N D L I N G 478// P A I N T E V E N T H A N D L I N G
479// ---------------------------------------------------------------------------- 479// ----------------------------------------------------------------------------
480 480
481void KODayMatrix::paintEvent(QPaintEvent * pevent) 481void KODayMatrix::paintEvent(QPaintEvent * pevent)
482{ 482{
483 if ( width() <= 0 || height() <= 0 ) 483 if ( width() <= 0 || height() <= 0 )
484 return; 484 return;
485 if ( mPendingUpdateBeforeRepaint ) { 485 if ( mPendingUpdateBeforeRepaint ) {
486 updateViewTimed(); 486 updateViewTimed();
487 mPendingUpdateBeforeRepaint = false; 487 mPendingUpdateBeforeRepaint = false;
488 } 488 }
489 if ( myPix.width() != width() || myPix.height()!=height() ) { 489 if ( myPix.width() != width() || myPix.height()!=height() ) {
490 myPix.resize(size() ); 490 myPix.resize(size() );
491 } 491 }
492 QPainter p(&myPix); 492 QPainter p(&myPix);
493 p.setFont(font());
493 494
494 QRect sz = frameRect(); 495 QRect sz = frameRect();
495 int dheight = daysize.height(); 496 int dheight = daysize.height();
496 int dwidth = daysize.width(); 497 int dwidth = daysize.width();
497 int row,col; 498 int row,col;
498 int selw, selh; 499 int selw, selh;
499 bool isRTL = KOGlobals::self()->reverseLayout(); 500 bool isRTL = KOGlobals::self()->reverseLayout();
500 501
501 // draw background and topleft frame 502 // draw background and topleft frame
502 p.fillRect(pevent->rect(), mDefaultBackColor); 503 p.fillRect(pevent->rect(), mDefaultBackColor);
503 p.setPen(mDefaultTextColor); 504 p.setPen(mDefaultTextColor);
504 p.drawRect(0, 0, sz.width()+1, sz.height()+1); 505 p.drawRect(0, 0, sz.width()+1, sz.height()+1);
505 506
506 // draw selected days with highlighted background color 507 // draw selected days with highlighted background color
507 if (mSelStart != NOSELECTION) { 508 if (mSelStart != NOSELECTION) {
508 509
509 row = mSelStart/7; 510 row = mSelStart/7;
510 col = mSelStart -row*7; 511 col = mSelStart -row*7;
511 QColor selcol = KOPrefs::instance()->mHighlightColor; 512 QColor selcol = KOPrefs::instance()->mHighlightColor;
512 513
513 if (row == mSelEnd/7) { 514 if (row == mSelEnd/7) {
514 // Single row selection 515 // Single row selection
515 p.fillRect(isRTL ? (7 - (mSelEnd-mSelStart+1) - col)*dwidth : col*dwidth, 516 p.fillRect(isRTL ? (7 - (mSelEnd-mSelStart+1) - col)*dwidth : col*dwidth,
516 row*dheight, (mSelEnd-mSelStart+1)*dwidth, dheight, selcol); 517 row*dheight, (mSelEnd-mSelStart+1)*dwidth, dheight, selcol);
517 } else { 518 } else {
518 // draw first row to the right 519 // draw first row to the right
519 p.fillRect(isRTL ? 0 : col*dwidth, row*dheight, (7-col)*dwidth, 520 p.fillRect(isRTL ? 0 : col*dwidth, row*dheight, (7-col)*dwidth,
520 dheight, selcol); 521 dheight, selcol);
521 // draw full block till last line 522 // draw full block till last line
522 selh = mSelEnd/7-row; 523 selh = mSelEnd/7-row;
523 if (selh > 1) { 524 if (selh > 1) {
524 p.fillRect(0, (row+1)*dheight, 7*dwidth, (selh-1)*dheight,selcol); 525 p.fillRect(0, (row+1)*dheight, 7*dwidth, (selh-1)*dheight,selcol);
525 } 526 }
526 // draw last block from left to mSelEnd 527 // draw last block from left to mSelEnd
527 selw = mSelEnd-7*(mSelEnd/7)+1; 528 selw = mSelEnd-7*(mSelEnd/7)+1;
528 p.fillRect(isRTL ? (7-selw)*dwidth : 0, (row+selh)*dheight, 529 p.fillRect(isRTL ? (7-selw)*dwidth : 0, (row+selh)*dheight,
529 selw*dwidth, dheight, selcol); 530 selw*dwidth, dheight, selcol);
530 } 531 }
531 } 532 }
532 533
533 // iterate over all days in the matrix and draw the day label in appropriate colors 534 // iterate over all days in the matrix and draw the day label in appropriate colors
534 QColor actcol = mDefaultTextColorShaded; 535 QColor actcol = mDefaultTextColorShaded;
535 p.setPen(actcol); 536 p.setPen(actcol);
536 QPen tmppen; 537 QPen tmppen;
537 for(int i = 0; i < NUMDAYS; i++) { 538 for(int i = 0; i < NUMDAYS; i++) {
538 row = i/7; 539 row = i/7;
539 col = isRTL ? 6-(i-row*7) : i-row*7; 540 col = isRTL ? 6-(i-row*7) : i-row*7;
540 541
541 // if it is the first day of a month switch color from normal to shaded and vice versa 542 // if it is the first day of a month switch color from normal to shaded and vice versa
542 if ( KOGlobals::self()->calendarSystem()->day( days[i] ) == 1) { 543 if ( KOGlobals::self()->calendarSystem()->day( days[i] ) == 1) {
543 if (actcol == mDefaultTextColorShaded) { 544 if (actcol == mDefaultTextColorShaded) {
544 actcol = mDefaultTextColor; 545 actcol = mDefaultTextColor;
545 } else { 546 } else {
546 actcol = mDefaultTextColorShaded; 547 actcol = mDefaultTextColorShaded;
547 } 548 }
548 p.setPen(actcol); 549 p.setPen(actcol);
549 } 550 }
550 551
551 //Reset pen color after selected days block 552 //Reset pen color after selected days block
552 if (i == mSelEnd+1) { 553 if (i == mSelEnd+1) {
553 p.setPen(actcol); 554 p.setPen(actcol);
554 } 555 }
555 556
556 // if today then draw rectangle around day 557 // if today then draw rectangle around day