-rw-r--r-- | korganizer/kodaymatrix.cpp | 42 |
1 files changed, 20 insertions, 22 deletions
diff --git a/korganizer/kodaymatrix.cpp b/korganizer/kodaymatrix.cpp index 507f18e..f864022 100644 --- a/korganizer/kodaymatrix.cpp +++ b/korganizer/kodaymatrix.cpp | |||
@@ -456,12 +456,14 @@ void KODayMatrix::mousePressEvent (QMouseEvent* e) | |||
456 | 456 | ||
457 | if ( e->button() == LeftButton ) | 457 | if ( e->button() == LeftButton ) |
458 | mouseDown = true; | 458 | mouseDown = true; |
459 | mSelStart = getDayIndexFrom(e->x(), e->y()); | 459 | mSelStart = getDayIndexFrom(e->x(), e->y()); |
460 | if (mSelStart > NUMDAYS-1) mSelStart=NUMDAYS-1; | 460 | if (mSelStart > NUMDAYS-1) mSelStart=NUMDAYS-1; |
461 | mSelInit = mSelStart; | 461 | mSelInit = mSelStart; |
462 | mSelEnd = mSelStart; | ||
463 | repaint(false); | ||
462 | } | 464 | } |
463 | 465 | ||
464 | void KODayMatrix::mouseReleaseEvent (QMouseEvent* e) | 466 | void KODayMatrix::mouseReleaseEvent (QMouseEvent* e) |
465 | { | 467 | { |
466 | if ( e->button() == LeftButton ) | 468 | if ( e->button() == LeftButton ) |
467 | if ( ! mouseDown ) { | 469 | if ( ! mouseDown ) { |
@@ -637,13 +639,13 @@ void KODayMatrix::paintEvent(QPaintEvent * pevent) | |||
637 | int dwidth = daysize.width(); | 639 | int dwidth = daysize.width(); |
638 | int row,col; | 640 | int row,col; |
639 | int selw, selh; | 641 | int selw, selh; |
640 | int xyOff = frameWidth(); | 642 | int xyOff = frameWidth(); |
641 | int colModulo = sz.width() % 7; | 643 | int colModulo = sz.width() % 7; |
642 | int rowModulo = sz.height() % 6; | 644 | int rowModulo = sz.height() % 6; |
643 | //qDebug("off %d col %d row %d ",xyOff,colModulo,rowModulo ); | 645 | qDebug("col %d row %d ",colModulo,rowModulo ); |
644 | 646 | ||
645 | bool isRTL = KOGlobals::self()->reverseLayout(); | 647 | bool isRTL = KOGlobals::self()->reverseLayout(); |
646 | 648 | ||
647 | // draw background and topleft frame | 649 | // draw background and topleft frame |
648 | p.fillRect(pevent->rect(), mDefaultBackColor); | 650 | p.fillRect(pevent->rect(), mDefaultBackColor); |
649 | p.setPen(mDefaultTextColor); | 651 | p.setPen(mDefaultTextColor); |
@@ -673,34 +675,16 @@ void KODayMatrix::paintEvent(QPaintEvent * pevent) | |||
673 | } | 675 | } |
674 | } | 676 | } |
675 | if ( ! skip ) { | 677 | if ( ! skip ) { |
676 | row = mSelStartT/7; | 678 | row = mSelStartT/7; |
677 | col = mSelStartT -row*7; | 679 | col = mSelStartT -row*7; |
678 | QColor selcol = KOPrefs::instance()->mHighlightColor; | 680 | QColor selcol = KOPrefs::instance()->mHighlightColor; |
679 | |||
680 | |||
681 | |||
682 | int addCol = 0; | 681 | int addCol = 0; |
683 | int addRow = 0; | 682 | int addRow = 0; |
684 | int addRow2 = 0; | 683 | int addRow2 = 0; |
685 | int addCol2 = 0; | 684 | int addCol2 = 0; |
686 | #if 0 | ||
687 | if ( colModulo ) { | ||
688 | if ( col >= 7 - colModulo ) | ||
689 | addCol = col - 7 + colModulo; | ||
690 | } | ||
691 | if ( rowModulo ) { | ||
692 | if ( row >= 6 - rowModulo ) | ||
693 | addRow = row - 5 + rowModulo; | ||
694 | } | ||
695 | #endif | ||
696 | |||
697 | |||
698 | |||
699 | |||
700 | |||
701 | if (row == mSelEndT/7) { | 685 | if (row == mSelEndT/7) { |
702 | if ( rowModulo ) { | 686 | if ( rowModulo ) { |
703 | if ( row >= 6 - rowModulo ) | 687 | if ( row >= 6 - rowModulo ) |
704 | addRow = row - 5 + rowModulo; | 688 | addRow = row - 5 + rowModulo; |
705 | } | 689 | } |
706 | if ( colModulo ) { | 690 | if ( colModulo ) { |
@@ -789,14 +773,16 @@ void KODayMatrix::paintEvent(QPaintEvent * pevent) | |||
789 | } | 773 | } |
790 | 774 | ||
791 | // if today then draw rectangle around day | 775 | // if today then draw rectangle around day |
792 | if (today == i) { | 776 | if (today == i) { |
793 | tmppen = p.pen(); | 777 | tmppen = p.pen(); |
794 | QPen mTodayPen(p.pen()); | 778 | QPen mTodayPen(p.pen()); |
795 | 779 | if ( daysize.width() < 20 ) | |
796 | mTodayPen.setWidth(mTodayMarginWidth); | 780 | mTodayPen.setWidth(1); |
781 | else | ||
782 | mTodayPen.setWidth(mTodayMarginWidth); | ||
797 | //draw red rectangle for holidays | 783 | //draw red rectangle for holidays |
798 | if (!mHolidays[i].isNull()) { | 784 | if (!mHolidays[i].isNull()) { |
799 | if (actcol == mDefaultTextColor) { | 785 | if (actcol == mDefaultTextColor) { |
800 | mTodayPen.setColor(KOPrefs::instance()->mHolidayColor); | 786 | mTodayPen.setColor(KOPrefs::instance()->mHolidayColor); |
801 | } else { | 787 | } else { |
802 | mTodayPen.setColor(mHolidayColorShaded); | 788 | mTodayPen.setColor(mHolidayColorShaded); |
@@ -805,13 +791,25 @@ void KODayMatrix::paintEvent(QPaintEvent * pevent) | |||
805 | //draw gray rectangle for today if in selection | 791 | //draw gray rectangle for today if in selection |
806 | if (i >= mSelStartT && i <= mSelEndT) { | 792 | if (i >= mSelStartT && i <= mSelEndT) { |
807 | QColor grey("grey"); | 793 | QColor grey("grey"); |
808 | mTodayPen.setColor(grey); | 794 | mTodayPen.setColor(grey); |
809 | } | 795 | } |
810 | p.setPen(mTodayPen); | 796 | p.setPen(mTodayPen); |
811 | p.drawRect(col*dwidth, row*dheight, dwidth, dheight); | 797 | |
798 | |||
799 | int addCol = 0; | ||
800 | int addRow = 0; | ||
801 | if (rowModulo) { | ||
802 | if ( row >= 6 - rowModulo ) | ||
803 | addRow = row - 5 + rowModulo; | ||
804 | } | ||
805 | if ( colModulo ) { | ||
806 | if ( col >= 7 - colModulo ) | ||
807 | addCol = col - 6 + colModulo-1; | ||
808 | } | ||
809 | p.drawRect(col*dwidth+addCol, row*dheight+addRow, dwidth, dheight+1); | ||
812 | p.setPen(tmppen); | 810 | p.setPen(tmppen); |
813 | } | 811 | } |
814 | 812 | ||
815 | // if any events are on that day then draw it using a bold font | 813 | // if any events are on that day then draw it using a bold font |
816 | if (events[i] > 0) { | 814 | if (events[i] > 0) { |
817 | QFont myFont = font(); | 815 | QFont myFont = font(); |