-rw-r--r-- | korganizer/kodaymatrix.cpp | 32 |
1 files changed, 26 insertions, 6 deletions
diff --git a/korganizer/kodaymatrix.cpp b/korganizer/kodaymatrix.cpp index 8affe50..c7e1b45 100644 --- a/korganizer/kodaymatrix.cpp +++ b/korganizer/kodaymatrix.cpp | |||
@@ -104,25 +104,28 @@ const int KODayMatrix::NUMDAYS = 42; | |||
104 | 104 | ||
105 | KODayMatrix::KODayMatrix( QWidget *parent, const char *name ) | 105 | KODayMatrix::KODayMatrix( QWidget *parent, const char *name ) |
106 | : QFrame( parent, name , Qt::WRepaintNoErase ), mCalendar( 0 ) | 106 | : QFrame( parent, name , Qt::WRepaintNoErase ), mCalendar( 0 ) |
107 | 107 | ||
108 | #if 0 | 108 | #if 0 |
109 | KODayMatrix::KODayMatrix(QWidget *parent, Calendar* calendar, QDate date, const char *name) : | 109 | KODayMatrix::KODayMatrix(QWidget *parent, Calendar* calendar, QDate date, const char *name) : |
110 | QFrame(parent, name) | 110 | QFrame(parent, name) |
111 | #endif | 111 | #endif |
112 | { | 112 | { |
113 | oldW = 0; | ||
114 | oldH = 0; | ||
115 | myPix.resize( 150, 120 ); | ||
113 | mRedrawNeeded = true; | 116 | mRedrawNeeded = true; |
114 | mKODaymatrixWhatsThis = new KODaymatrixWhatsThis(this); | 117 | mKODaymatrixWhatsThis = new KODaymatrixWhatsThis(this); |
115 | mPendingUpdateBeforeRepaint = false; | 118 | mPendingUpdateBeforeRepaint = false; |
116 | mouseDown = false; | 119 | mouseDown = false; |
117 | // initialize dynamic arrays | 120 | // initialize dynamic arrays |
118 | bDays.resize ( NUMDAYS ); | 121 | bDays.resize ( NUMDAYS ); |
119 | hDays.resize ( NUMDAYS );; | 122 | hDays.resize ( NUMDAYS ); |
120 | eDays.resize ( NUMDAYS );; | 123 | eDays.resize ( NUMDAYS ); |
121 | days = new QDate[NUMDAYS]; | 124 | days = new QDate[NUMDAYS]; |
122 | daylbls = new QString[NUMDAYS]; | 125 | daylbls = new QString[NUMDAYS]; |
123 | //events = new int[NUMDAYS]; | 126 | //events = new int[NUMDAYS]; |
124 | mToolTip = new DynamicTip(this); | 127 | mToolTip = new DynamicTip(this); |
125 | 128 | ||
126 | // set default values used for drawing the matrix | 129 | // set default values used for drawing the matrix |
127 | mDefaultBackColor = palette().active().base(); | 130 | mDefaultBackColor = palette().active().base(); |
128 | mDefaultTextColor = palette().active().foreground(); | 131 | mDefaultTextColor = palette().active().foreground(); |
@@ -329,17 +332,21 @@ void KODayMatrix::recalculateToday() | |||
329 | // qDebug(QString("Today is visible at %1.").arg(today)); | 332 | // qDebug(QString("Today is visible at %1.").arg(today)); |
330 | } | 333 | } |
331 | 334 | ||
332 | void KODayMatrix::updateView() | 335 | void KODayMatrix::updateView() |
333 | { | 336 | { |
334 | updateView(startdate); | 337 | updateView(startdate); |
335 | } | 338 | } |
336 | void KODayMatrix::repaintViewTimed() | 339 | void KODayMatrix::repaintViewTimed() |
337 | { | 340 | { |
341 | mRedrawNeeded = true; | ||
342 | bDays.fill( false); | ||
343 | hDays.fill( false); | ||
344 | eDays.fill( false); | ||
338 | mRepaintTimer->stop(); | 345 | mRepaintTimer->stop(); |
339 | repaint(false); | 346 | repaint(false); |
340 | } | 347 | } |
341 | void KODayMatrix::updateViewTimed() | 348 | void KODayMatrix::updateViewTimed() |
342 | { | 349 | { |
343 | mUpdateTimer->stop(); | 350 | mUpdateTimer->stop(); |
344 | if ( !mCalendar ) { | 351 | if ( !mCalendar ) { |
345 | qDebug("NOT CAL "); | 352 | qDebug("NOT CAL "); |
@@ -678,21 +685,33 @@ void KODayMatrix::paintEvent(QPaintEvent * pevent) | |||
678 | { | 685 | { |
679 | 686 | ||
680 | if ( width() <= 0 || height() <= 0 ) | 687 | if ( width() <= 0 || height() <= 0 ) |
681 | return; | 688 | return; |
682 | if ( mPendingUpdateBeforeRepaint ) { | 689 | if ( mPendingUpdateBeforeRepaint ) { |
683 | updateViewTimed(); | 690 | updateViewTimed(); |
684 | mPendingUpdateBeforeRepaint = false; | 691 | mPendingUpdateBeforeRepaint = false; |
685 | } | 692 | } |
693 | #if 0 | ||
686 | if ( myPix.width() != width() || myPix.height()!=height() ) { | 694 | if ( myPix.width() != width() || myPix.height()!=height() ) { |
687 | myPix.resize(size() ); | 695 | myPix.resize(size() ); |
688 | mRedrawNeeded = true; | 696 | mRedrawNeeded = true; |
689 | } | 697 | } |
690 | 698 | #endif | |
699 | if ( oldW != width() || oldH !=height() ) | ||
700 | mRedrawNeeded = true; | ||
701 | |||
702 | oldH = height() ; | ||
703 | oldW = width(); | ||
704 | if ( myPix.width() < width() || myPix.height() < height() ) { | ||
705 | myPix.resize(size() ); | ||
706 | mRedrawNeeded = true; | ||
707 | |||
708 | } | ||
709 | |||
691 | if ( mRedrawNeeded ) { | 710 | if ( mRedrawNeeded ) { |
692 | //qDebug("REDRAW "); | 711 | //qDebug("REDRAW "); |
693 | QPainter p(&myPix); | 712 | QPainter p(&myPix); |
694 | p.setFont(font()); | 713 | p.setFont(font()); |
695 | 714 | ||
696 | 715 | ||
697 | int dheight = daysize.height(); | 716 | int dheight = daysize.height(); |
698 | int dwidth = daysize.width(); | 717 | int dwidth = daysize.width(); |
@@ -942,17 +961,18 @@ void KODayMatrix::paintEvent(QPaintEvent * pevent) | |||
942 | QFont myFont = font(); | 961 | QFont myFont = font(); |
943 | myFont.setBold(false); | 962 | myFont.setBold(false); |
944 | p.setFont(myFont); | 963 | p.setFont(myFont); |
945 | } | 964 | } |
946 | } | 965 | } |
947 | } else { | 966 | } else { |
948 | //qDebug("NO redraw "); | 967 | //qDebug("NO redraw "); |
949 | } | 968 | } |
950 | bitBlt (this, 0, 0, &myPix, 0 ,0,width(), height() ,CopyROP); | 969 | |
970 | bitBlt (this, pevent->rect().topLeft(), &myPix , pevent->rect() ,CopyROP); | ||
951 | mRedrawNeeded = false; | 971 | mRedrawNeeded = false; |
952 | } | 972 | } |
953 | 973 | ||
954 | // ---------------------------------------------------------------------------- | 974 | // ---------------------------------------------------------------------------- |
955 | // R E SI Z E E V E N T H A N D L I N G | 975 | // R E SI Z E E V E N T H A N D L I N G |
956 | // ---------------------------------------------------------------------------- | 976 | // ---------------------------------------------------------------------------- |
957 | 977 | ||
958 | void KODayMatrix::resizeEvent(QResizeEvent *) | 978 | void KODayMatrix::resizeEvent(QResizeEvent *) |