summaryrefslogtreecommitdiffabout
path: root/korganizer/kodaymatrix.cpp
authorzautrix <zautrix>2005-03-20 16:15:56 (UTC)
committer zautrix <zautrix>2005-03-20 16:15:56 (UTC)
commita9e08041c8978d52cfcabc84f579784af45eb8d9 (patch) (unidiff)
tree6448348326db4325938679350c58d87176d90771 /korganizer/kodaymatrix.cpp
parent69d75020eea5f95b9f5d77d97ed85ec8869d32db (diff)
downloadkdepimpi-a9e08041c8978d52cfcabc84f579784af45eb8d9.zip
kdepimpi-a9e08041c8978d52cfcabc84f579784af45eb8d9.tar.gz
kdepimpi-a9e08041c8978d52cfcabc84f579784af45eb8d9.tar.bz2
layout fix
Diffstat (limited to 'korganizer/kodaymatrix.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/kodaymatrix.cpp121
1 files changed, 91 insertions, 30 deletions
diff --git a/korganizer/kodaymatrix.cpp b/korganizer/kodaymatrix.cpp
index 9181936..15a1cb4 100644
--- a/korganizer/kodaymatrix.cpp
+++ b/korganizer/kodaymatrix.cpp
@@ -621,3 +621,4 @@ void KODayMatrix::paintEvent(QPaintEvent * pevent)
621{ 621{
622 if ( width() <= 0 || height() <= 0 ) 622 QRect sz = frameRect();
623 if ( sz.width() <= 0 || sz.height() <= 0 )
623 return; 624 return;
@@ -627,4 +628,4 @@ void KODayMatrix::paintEvent(QPaintEvent * pevent)
627 } 628 }
628 if ( myPix.width() != width() || myPix.height()!=height() ) { 629 if ( myPix.width() != sz.width() || myPix.height()!=sz.height() ) {
629 myPix.resize(size() ); 630 myPix.resize(sz.size() );
630 } 631 }
@@ -633,3 +634,3 @@ void KODayMatrix::paintEvent(QPaintEvent * pevent)
633 634
634 QRect sz = frameRect(); 635
635 int dheight = daysize.height(); 636 int dheight = daysize.height();
@@ -638,2 +639,7 @@ void KODayMatrix::paintEvent(QPaintEvent * pevent)
638 int selw, selh; 639 int selw, selh;
640 int xyOff = frameWidth();
641 int colModulo = sz.width() % 7;
642 int rowModulo = sz.height() % 6;
643 qDebug("off %d col %d row %d ",xyOff,colModulo,rowModulo );
644
639 bool isRTL = KOGlobals::self()->reverseLayout(); 645 bool isRTL = KOGlobals::self()->reverseLayout();
@@ -669,24 +675,65 @@ void KODayMatrix::paintEvent(QPaintEvent * pevent)
669 if ( ! skip ) { 675 if ( ! skip ) {
670 row = mSelStartT/7; 676 row = mSelStartT/7;
671 col = mSelStartT -row*7; 677 col = mSelStartT -row*7;
672 QColor selcol = KOPrefs::instance()->mHighlightColor; 678 QColor selcol = KOPrefs::instance()->mHighlightColor;
673 679
674 if (row == mSelEndT/7) { 680
675 // Single row selection 681
676 p.fillRect(isRTL ? (7 - (mSelEndT-mSelStartT+1) - col)*dwidth : col*dwidth, 682 int addCol = 0;
677 row*dheight, (mSelEndT-mSelStartT+1)*dwidth, dheight, selcol); 683 int addRow = 0;
678 } else { 684#if 0
679 // draw first row to the right 685 if ( colModulo ) {
680 p.fillRect(isRTL ? 0 : col*dwidth, row*dheight, (7-col)*dwidth, 686 if ( col >= 7 - colModulo )
681 dheight, selcol); 687 addCol = col - 7 + colModulo;
682 // draw full block till last line 688 }
683 selh = mSelEndT/7-row; 689 if ( rowModulo ) {
684 if (selh > 1) { 690 if ( row >= 6 - rowModulo )
685 p.fillRect(0, (row+1)*dheight, 7*dwidth, (selh-1)*dheight,selcol); 691 addRow = row - 5 + rowModulo;
686 } 692 }
687 // draw last block from left to mSelEndT 693#endif
688 selw = mSelEndT-7*(mSelEndT/7)+1; 694
689 p.fillRect(isRTL ? (7-selw)*dwidth : 0, (row+selh)*dheight, 695
690 selw*dwidth, dheight, selcol); 696
691 } 697
698
699 if (row == mSelEndT/7) {
700 if ( rowModulo ) {
701 if ( row >= 6 - rowModulo )
702 addRow = row - 5 + rowModulo;
703 }
704 if ( colModulo ) {
705 if ( mSelEndT-mSelStartT+1 >= 7 - colModulo )
706 addCol = mSelEndT-mSelStartT+1 - 7 + colModulo;
707 }
708 // Single row selection
709 if ( row == 0)
710 addRow = 1;
711 p.fillRect(isRTL ? (7 - (mSelEndT-mSelStartT+1) - col)*dwidth : col*dwidth+1,
712 row*dheight+addRow, (mSelEndT-mSelStartT+1)*dwidth+addCol, dheight+1, selcol);
713 } else {
714 // draw first row to the right
715 if ( row == 0)
716 addRow = 1;
717 p.fillRect(isRTL ? 0 : col*dwidth+1, row*dheight+addRow, (7-col)*dwidth+colModulo,
718 dheight, selcol);
719 // draw full block till last line
720 selh = mSelEndT/7-row;
721 if (selh > 1) {
722 p.fillRect(1, (row+1)*dheight, 7*dwidth+colModulo, (selh-1)*dheight,selcol);
723 }
724 // draw last block from left to mSelEndT
725 selw = mSelEndT-7*(mSelEndT/7)+1;
726 //qDebug("esl %d ",selw );
727 int add = 0;
728 if ( colModulo ) {
729 add = 7 - colModulo;
730 if ( selw > add )
731 add = selw - add;
732 else
733 add = 0;
734 }
735 //qDebug("add %d ", add);
736 p.fillRect(isRTL ? (7-selw)*dwidth : 1, (row+selh)*dheight,
737 selw*dwidth+add, dheight, selcol);
738 }
692 } 739 }
@@ -771,3 +818,15 @@ void KODayMatrix::paintEvent(QPaintEvent * pevent)
771 818
772 p.drawText(col*dwidth, row*dheight, dwidth, dheight, 819 int addCol = 0;
820 int addRow = 0;
821 if ( colModulo ) {
822 if ( col >= 7 - colModulo )
823 addCol = col - 7 + colModulo;
824 }
825 if ( rowModulo ) {
826 if ( row >= 6 - rowModulo )
827 addRow = row - 5 + rowModulo;
828 }
829 //qDebug("add %d %d -- %d %d ", col, addCol, row, addRow);
830 ++addCol;++addCol;
831 p.drawText(col*dwidth+addCol, row*dheight+addRow, dwidth, dheight,
773 Qt::AlignHCenter | Qt::AlignVCenter, daylbls[i]); 832 Qt::AlignHCenter | Qt::AlignVCenter, daylbls[i]);
@@ -785,3 +844,5 @@ void KODayMatrix::paintEvent(QPaintEvent * pevent)
785 } 844 }
786 bitBlt (this, 0, 0, &myPix, 0 ,0,width(), height() ,CopyROP); 845 int off = xyOff;
846 bitBlt (this, off, off, &myPix, 0 ,0,width(), height() ,CopyROP);
847 //qDebug("ffffffffff %d ", off);
787} 848}
@@ -803,4 +864,4 @@ QSize KODayMatrix::sizeHint() const
803 QFontMetrics fm ( font() ); 864 QFontMetrics fm ( font() );
804 int wid = fm.width( "30") *7+7; 865 int wid = fm.width( "30") *7+3;
805 int hei = fm.height() * 6+4; 866 int hei = fm.height() * 6+3;
806 //qDebug("KODayMatrix::sizeHint()********************* %d %d", wid , hei); 867 //qDebug("KODayMatrix::sizeHint()********************* %d %d", wid , hei);