-rw-r--r-- | korganizer/koagenda.cpp | 21 | ||||
-rw-r--r-- | korganizer/koagendaitem.h | 1 | ||||
-rw-r--r-- | korganizer/koagendaview.cpp | 11 |
3 files changed, 18 insertions, 15 deletions
diff --git a/korganizer/koagenda.cpp b/korganizer/koagenda.cpp index 7d9d674..88f5d99 100644 --- a/korganizer/koagenda.cpp +++ b/korganizer/koagenda.cpp @@ -1464,13 +1464,13 @@ void KOAgenda::drawContentsToPainter( QPainter* paint, bool backgroundOnly )// i else p = paint ; // qDebug("++++++KOAgenda::drawContentsTo Painter %d %d %d %d ", cx, cy, cw, ch); //--cx;++cw; int lGridSpacingY = mGridSpacingY*2; - int selDay; + uint selDay; QDate curDate = QDate::currentDate(); if ( !backgroundOnly ) { for ( selDay = 0; selDay < mSelectedDates.count(); ++selDay) { if ( mSelectedDates[selDay] == curDate && KOPrefs::instance()->mHighlightCurrentDay) { int x1 = cx; @@ -1478,13 +1478,13 @@ void KOAgenda::drawContentsToPainter( QPainter* paint, bool backgroundOnly )// i if (y1 < cy) y1 = cy; int x2 = cx+cw-1; int y2 = contentsHeight(); if (y2 > cy+ch-1) y2=cy+ch-1; if (x2 >= x1 && y2 >= y1) { int gxStart = selDay; - int gxEnd = gxStart ; + //int gxEnd = gxStart ; int xStart = KOGlobals::self()->reverseLayout() ? (mColumns - 1 - gxStart)*mGridSpacingX : gxStart*mGridSpacingX; if (xStart < x1) xStart = x1; int xEnd = KOGlobals::self()->reverseLayout() ? (mColumns - gxStart)*mGridSpacingX-1 : @@ -1919,12 +1919,13 @@ void KOAgenda::finishResize ( ) */ void KOAgenda::resizeEvent ( QResizeEvent *ev ) { mSelectionHeight = 0; mResizeTimer.start( 150 , true ); computeSizes(); + QScrollView::resizeEvent( ev ); return; } void KOAgenda::computeSizes() { if ( globalFlagBlockStartup ) @@ -2178,13 +2179,13 @@ void KOAgenda::restorePosition() if ( mContentPosition < 0 ) posY = max-viewport()->height(); else if ( mContentPosition == 0 ) posY = 0; else - posY = (max/mContentPosition)-(viewport()->height()/2); + posY = (int) ((max/mContentPosition)-(viewport()->height()/2)); setContentsPos (0, posY ); //qDebug("posY %d hei %d", posY, max); } void KOAgenda::moveChild( QWidget *w, int x , int y ) { @@ -2199,13 +2200,13 @@ void KOAgenda::moveChild( QWidget *w, int x , int y ) #endif void KOAgenda::printSelection() { #ifdef DESKTOP_VERSION if ( mStartCellY == mCurrentCellY ) { - int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), + QMessageBox::warning( this, i18n("KO/Pi: Warning!"), i18n("Nothing selected!\n\nThis prints the full width of the Agenda view as you see it!\n\nTo determine the vertical range of the printing, please select\na vertical range (with the left mouse button down) in one column. "), i18n("OK"), 0, 0, 0, 1 ); return; } @@ -2237,28 +2238,28 @@ void KOAgenda::printSelection() // scale to fit the width or height of the paper if ( dx < dy ) scale = dx; else scale = dy; // set the scale - p.drawText( offset* scale, offset* scale*3/4, date ); + p.drawText( (int) (offset* scale), (int) (offset* scale*3/4), date ); - int selDay; + uint selDay; float widOffset = ((float) m.width()-offset) / ((float)(mSelectedDates.count())); float startX = 1; for ( selDay = 0; selDay < mSelectedDates.count(); ++selDay) { QString text = KGlobal::locale()->formatDate( mSelectedDates[selDay],true ); - p.setClipRect(offset* scale+startX , 0, widOffset-4, offset* scale+(2*hei* scale) ); - p.drawText( offset* scale+startX, (offset+hei)* scale, text ); + p.setClipRect((int) (offset* scale+startX) , 0, (int) (widOffset-4), (int) (offset* scale+(2*hei* scale)) ); + p.drawText( (int) (offset* scale+startX), (int) ((offset+hei)* scale), text ); startX += widOffset; } - p.translate( offset* scale,offset* scale+ (-y * scale)+(2*hei* scale)); + p.translate( (int) (offset* scale),(int) (offset* scale+ (-y * scale)+(2*hei* scale))); p.scale( scale, scale ); - p.setClipRect( offset* scale, offset* scale+(2*hei* scale), w*scale, h*scale ); + p.setClipRect( (int) (offset* scale), (int) (offset* scale+(2*hei* scale)), (int) (w*scale), (int) (h*scale) ); // now printing with y offset: 2 hei // p.translate( 0, -y*scale); drawContentsToPainter(&p, true ); globalFlagBlockAgendaItemUpdate = false; KOAgendaItem *item; diff --git a/korganizer/koagendaitem.h b/korganizer/koagendaitem.h index 99c564a..2b26e95 100644 --- a/korganizer/koagendaitem.h +++ b/korganizer/koagendaitem.h @@ -105,12 +105,13 @@ class KOAgendaItem : public QWidget static QPixmap * paintPixAllday(); void updateItem(); void computeText(); void recreateIncidence(); bool checkLayout(); void initColor (); + bool isAllDay() { return mAllDay; } public slots: bool updateIcons( QPainter *, bool ); void select(bool=true); void repaintItem(); protected: diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp index f5a3a4b..1cf03a0 100644 --- a/korganizer/koagendaview.cpp +++ b/korganizer/koagendaview.cpp @@ -999,17 +999,18 @@ void KOAgendaView::updateConfig() void KOAgendaView::updateEventDates(KOAgendaItem *item, int type) { int xxx = item->cellX(); //qDebug("KOAgendaView::updateEventDates %d %d %d %d %d", xxx, mMinY.at(xxx),mMaxY.at(xxx),item->cellYTop(),item->cellYBottom() ); - if ( mMinY.at(xxx) > item->cellYTop() ) - mMinY.at(xxx) = item->cellYTop(); - if ( mMaxY.at(xxx) < item->cellYBottom() ) - mMaxY.at(xxx) = item->cellYBottom(); - + if ( xxx >= 0 && xxx < mMinY.count() && !item->isAllDay() ) { + if ( mMinY.at(xxx) > item->cellYTop() ) + mMinY.at(xxx) = item->cellYTop(); + if ( mMaxY.at(xxx) < item->cellYBottom() ) + mMaxY.at(xxx) = item->cellYBottom(); + } QDateTime startDt,endDt; QDate startDate; int lenInSecs; // if ( type == KOAgenda::RESIZETOP ) // qDebug("RESIZETOP "); // if ( type == KOAgenda::RESIZEBOTTOM ) |