summaryrefslogtreecommitdiffabout
path: root/korganizer
authorzautrix <zautrix>2005-04-09 16:49:42 (UTC)
committer zautrix <zautrix>2005-04-09 16:49:42 (UTC)
commitd1982b1423417eb59c275bb09d4e3012a67ca086 (patch) (unidiff)
treef170a17f3d04e9d11d450233ea2d55f5803760fb /korganizer
parent329ecb2c6b4153c51415513a28f2dc0576f4ddca (diff)
downloadkdepimpi-d1982b1423417eb59c275bb09d4e3012a67ca086.zip
kdepimpi-d1982b1423417eb59c275bb09d4e3012a67ca086.tar.gz
kdepimpi-d1982b1423417eb59c275bb09d4e3012a67ca086.tar.bz2
nf
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koagenda.cpp124
-rw-r--r--korganizer/koagendaitem.cpp11
-rw-r--r--korganizer/koagendaview.cpp30
3 files changed, 93 insertions, 72 deletions
diff --git a/korganizer/koagenda.cpp b/korganizer/koagenda.cpp
index 148d914..18c506e 100644
--- a/korganizer/koagenda.cpp
+++ b/korganizer/koagenda.cpp
@@ -1354,101 +1354,91 @@ void KOAgenda::placeSubCells(KOAgendaItem *placeItem)
1354 // for ( item=conflictItems.first(); item != 0; 1354 // for ( item=conflictItems.first(); item != 0;
1355// item=conflictItems.next() ) { 1355// item=conflictItems.next() ) {
1356// //item->updateItem(); 1356// //item->updateItem();
1357// //qDebug("xxx item->updateItem() %s %d %d", item->incidence()->summary().latin1(),item->x(), item->y() ); 1357// //qDebug("xxx item->updateItem() %s %d %d", item->incidence()->summary().latin1(),item->x(), item->y() );
1358// } 1358// }
1359// placeItem->updateItem(); 1359// placeItem->updateItem();
1360} 1360}
1361 1361
1362void KOAgenda::drawContents(QPainter* p, int cx, int cy, int cw, int ch) 1362void KOAgenda::drawContents(QPainter* p, int cx, int cy, int cw, int ch)
1363{ 1363{
1364 if ( globalFlagBlockAgenda ) 1364 if ( globalFlagBlockAgenda )
1365 return; 1365 return;
1366 //qDebug("KOAgenda::drawContents "); 1366 if ( ! mAllDayMode ) {
1367 if ( mCurPixWid != contentsWidth() || mCurPixHei != contentsHeight() ) 1367 // currently not working for
1368 ;//drawContentsToPainter();
1369 1368
1370 QPaintDevice* pd = p->device(); 1369 //qDebug("KOAgenda::drawContents ");
1371 p->end(); 1370 if ( mCurPixWid != contentsWidth() || mCurPixHei != contentsHeight() )
1372 int vx, vy; 1371 ;//drawContentsToPainter();
1373 int selectionX = KOGlobals::self()->reverseLayout() ? 1372
1373 QPaintDevice* pd = p->device();
1374 p->end();
1375 int vx, vy;
1376 int selectionX = KOGlobals::self()->reverseLayout() ?
1374 (mColumns - 1 - mSelectionCellX) * mGridSpacingX : 1377 (mColumns - 1 - mSelectionCellX) * mGridSpacingX :
1375 mSelectionCellX * mGridSpacingX; 1378 mSelectionCellX * mGridSpacingX;
1376 contentsToViewport ( cx, cy, vx,vy); 1379 contentsToViewport ( cx, cy, vx,vy);
1377 //qDebug(" %d %d %d %d %d", cx, cy, cw,ch,mGridSpacingX-1) ; 1380 //qDebug(" %d %d %d %d %d", cx, cy, cw,ch,mGridSpacingX-1) ;
1378 1381
1379 if ( !(selectionX == cx && cy == mSelectionYTop && cw ==mGridSpacingX && ch == mSelectionHeight ) ) { 1382 if ( !(selectionX == cx && cy == mSelectionYTop && cw ==mGridSpacingX && ch == mSelectionHeight ) ) {
1380 if ( mGridSpacingX == cw && mSelectionHeight > 0 && ( ( cx + cw ) >= selectionX && cx <= ( selectionX + mGridSpacingX ) && 1383 if ( mGridSpacingX == cw && mSelectionHeight > 0 && ( ( cx + cw ) >= selectionX && cx <= ( selectionX + mGridSpacingX ) &&
1381 ( cy + ch ) >= mSelectionYTop && cy <= ( mSelectionYTop + mSelectionHeight ) ) ) { 1384 ( cy + ch ) >= mSelectionYTop && cy <= ( mSelectionYTop + mSelectionHeight ) ) ) {
1382 1385
1383 int vxSel, vySel; 1386 int vxSel, vySel;
1384 contentsToViewport ( selectionX, mSelectionYTop, vxSel,vySel); 1387 contentsToViewport ( selectionX, mSelectionYTop, vxSel,vySel);
1385 int off = mSelectionHeight; 1388 int off = mSelectionHeight;
1386 if ( vySel < 0 ) 1389 if ( vySel < 0 )
1387 off += vySel; 1390 off += vySel;
1388 //qDebug("OFF %d %d %d", off,vySel, vy ); 1391 //qDebug("OFF %d %d %d", off,vySel, vy );
1389 bitBlt ( pd, vx, vy+off, &mPaintPixmap, cx, cy+off, cw , ch-off ,CopyROP); 1392 bitBlt ( pd, vx, vy+off, &mPaintPixmap, cx, cy+off, cw , ch-off ,CopyROP);
1390 } else { 1393 } else {
1391 bitBlt ( pd, vx, vy, &mPaintPixmap, cx, cy, cw, ch ,CopyROP); 1394 bitBlt ( pd, vx, vy, &mPaintPixmap, cx, cy, cw, ch ,CopyROP);
1395 }
1392 } 1396 }
1393 } 1397 if ( mSelectionHeight > 0 ) {
1394 if ( mSelectionHeight > 0 ) { 1398 //qDebug("---- %d %d %d %d ", selectionX, mSelectionYTop, mGridSpacingX, mSelectionHeight );
1395 //qDebug("---- %d %d %d %d ", selectionX, mSelectionYTop, mGridSpacingX, mSelectionHeight ); 1399 if ( ( cx + cw ) >= selectionX && cx <= ( selectionX + mGridSpacingX ) &&
1396 if ( ( cx + cw ) >= selectionX && cx <= ( selectionX + mGridSpacingX ) && 1400 ( cy + ch ) >= mSelectionYTop && cy <= ( mSelectionYTop + mSelectionHeight ) ) {
1397 ( cy + ch ) >= mSelectionYTop && cy <= ( mSelectionYTop + mSelectionHeight ) ) { 1401 contentsToViewport ( selectionX, mSelectionYTop, vx,vy);
1398 contentsToViewport ( selectionX, mSelectionYTop, vx,vy); 1402 bitBlt ( pd, vx+1, vy, &mHighlightPixmap, 0, mSelectionYTop, mGridSpacingX-1, mSelectionHeight ,CopyROP);
1399 bitBlt ( pd, vx+1, vy, &mHighlightPixmap, 0, mSelectionYTop, mGridSpacingX-1, mSelectionHeight ,CopyROP); 1403 }
1400 } 1404 }
1401 } 1405 p->begin( pd );
1402 //qDebug("btbl "); 1406 } else {
1403 p->begin( pd ); 1407
1404 //qDebug("end "); 1408 if ( mCurPixWid != contentsWidth() || mCurPixHei != contentsHeight() )
1405#if 0 1409 ;//drawContentsToPainter();
1406
1407 if ( globalFlagBlockAgenda )
1408 return;
1409 //qDebug("KOAgenda::drawContents ");
1410 if ( mCurPixWid != contentsWidth() || mCurPixHei != contentsHeight() )
1411 ;//drawContentsToPainter();
1412 1410
1413 QPaintDevice* pd = p->device(); 1411 QPaintDevice* pd = p->device();
1414 p->end(); 1412 p->end();
1415 int vx, vy; 1413 int vx, vy;
1416 int selectionX = KOGlobals::self()->reverseLayout() ? 1414 int selectionX = KOGlobals::self()->reverseLayout() ?
1417 (mColumns - 1 - mSelectionCellX) * mGridSpacingX : 1415 (mColumns - 1 - mSelectionCellX) * mGridSpacingX :
1418 mSelectionCellX * mGridSpacingX; 1416 mSelectionCellX * mGridSpacingX;
1419 contentsToViewport ( cx, cy, vx,vy); 1417 contentsToViewport ( cx, cy, vx,vy);
1420 // qDebug(" %d %d %d %d ", cx, cy, cw,ch) ; 1418 // qDebug(" %d %d %d %d ", cx, cy, cw,ch) ;
1421 if ( !(selectionX == cx && cy == mSelectionYTop && cw ==mGridSpacingX && ch == mSelectionHeight ) ) 1419 if ( !(selectionX == cx && cy == mSelectionYTop && cw ==mGridSpacingX && ch == mSelectionHeight ) )
1422 bitBlt ( pd, vx, vy, &mPaintPixmap, cx, cy, cw, ch ,CopyROP); 1420 bitBlt ( pd, vx, vy, &mPaintPixmap, cx, cy, cw, ch ,CopyROP);
1423 1421
1424 if ( mSelectionHeight > 0 ) { 1422 if ( mSelectionHeight > 0 ) {
1425 //qDebug("---- %d %d %d %d ", selectionX, mSelectionYTop, mGridSpacingX, mSelectionHeight ); 1423 //qDebug("---- %d %d %d %d ", selectionX, mSelectionYTop, mGridSpacingX, mSelectionHeight );
1426 if ( ( cx + cw ) >= selectionX && cx <= ( selectionX + mGridSpacingX ) && 1424 if ( ( cx + cw ) >= selectionX && cx <= ( selectionX + mGridSpacingX ) &&
1427 ( cy + ch ) >= mSelectionYTop && cy <= ( mSelectionYTop + mSelectionHeight ) ) { 1425 ( cy + ch ) >= mSelectionYTop && cy <= ( mSelectionYTop + mSelectionHeight ) ) {
1428 contentsToViewport ( selectionX, mSelectionYTop, vx,vy); 1426 contentsToViewport ( selectionX, mSelectionYTop, vx,vy);
1429 bitBlt ( pd, vx+1, vy, &mHighlightPixmap, 0, mSelectionYTop, mGridSpacingX-1, mSelectionHeight ,CopyROP); 1427 bitBlt ( pd, vx+1, vy, &mHighlightPixmap, 0, mSelectionYTop, mGridSpacingX-1, mSelectionHeight ,CopyROP);
1430 } 1428 }
1431 } 1429 }
1432 //qDebug("btbl "); 1430 p->begin( pd );
1433 p->begin( pd ); 1431 }
1434 //qDebug("end ");
1435
1436
1437
1438
1439
1440
1441 1432
1442#endif
1443} 1433}
1444 1434
1445void KOAgenda::finishUpdate() 1435void KOAgenda::finishUpdate()
1446{ 1436{
1447 1437
1448 KOAgendaItem *item; 1438 KOAgendaItem *item;
1449 globalFlagBlockAgendaItemPaint = 1; 1439 globalFlagBlockAgendaItemPaint = 1;
1450 // Adjust sub cell geometry of all conflict items of all conflict items of all conflict items ... of the conflict item with the max number of conflictitems 1440 // Adjust sub cell geometry of all conflict items of all conflict items of all conflict items ... of the conflict item with the max number of conflictitems
1451 for ( item=mItems.first(); item != 0; item=mItems.next() ) { 1441 for ( item=mItems.first(); item != 0; item=mItems.next() ) {
1452 if ( !item->checkLayout() ) { 1442 if ( !item->checkLayout() ) {
1453 //qDebug(" conflictitem found "); 1443 //qDebug(" conflictitem found ");
1454 int newSubCellWidth; 1444 int newSubCellWidth;
@@ -1958,25 +1948,25 @@ void KOAgenda::finishResize ( )
1958{ 1948{
1959 //qDebug("finishResize+++++++++++++++++++++++++++++++ ( ) "); 1949 //qDebug("finishResize+++++++++++++++++++++++++++++++ ( ) ");
1960 if ( globalFlagBlockAgenda == 0 ) { 1950 if ( globalFlagBlockAgenda == 0 ) {
1961 finishUpdate(); 1951 finishUpdate();
1962 //qDebug("finishUpdate() called "); 1952 //qDebug("finishUpdate() called ");
1963 } 1953 }
1964} 1954}
1965/* 1955/*
1966 Overridden from QScrollView to provide proper resizing of KOAgendaItems. 1956 Overridden from QScrollView to provide proper resizing of KOAgendaItems.
1967*/ 1957*/
1968void KOAgenda::resizeEvent ( QResizeEvent *ev ) 1958void KOAgenda::resizeEvent ( QResizeEvent *ev )
1969{ 1959{
1970 1960 mSelectionHeight = 0;
1971 mResizeTimer.start( 150 , true ); 1961 mResizeTimer.start( 150 , true );
1972 computeSizes(); 1962 computeSizes();
1973 return; 1963 return;
1974 1964
1975} 1965}
1976void KOAgenda::computeSizes() 1966void KOAgenda::computeSizes()
1977{ 1967{
1978 if ( globalFlagBlockStartup ) 1968 if ( globalFlagBlockStartup )
1979 return; 1969 return;
1980 int frameOffset = frameWidth() * 2 +1; 1970 int frameOffset = frameWidth() * 2 +1;
1981 if (mAllDayMode) { 1971 if (mAllDayMode) {
1982 mGridSpacingX = (width()-frameOffset) / mColumns; 1972 mGridSpacingX = (width()-frameOffset) / mColumns;
diff --git a/korganizer/koagendaitem.cpp b/korganizer/koagendaitem.cpp
index c9e307f..1801d7e 100644
--- a/korganizer/koagendaitem.cpp
+++ b/korganizer/koagendaitem.cpp
@@ -539,29 +539,32 @@ void KOAgendaItem::computeText()
539 if ( (mIncidence->type() == "Todo") ) { 539 if ( (mIncidence->type() == "Todo") ) {
540 if ( static_cast<Todo*>(mIncidence)->hasDueDate() ) { 540 if ( static_cast<Todo*>(mIncidence)->hasDueDate() ) {
541 if ( static_cast<Todo*>(mIncidence)->dtDue().date() < QDate::currentDate() ) 541 if ( static_cast<Todo*>(mIncidence)->dtDue().date() < QDate::currentDate() )
542 mDisplayedText += i18n(" (") +KGlobal::locale()->formatDate((static_cast<Todo*>(mIncidence))->dtDue().date(), true)+")"; 542 mDisplayedText += i18n(" (") +KGlobal::locale()->formatDate((static_cast<Todo*>(mIncidence))->dtDue().date(), true)+")";
543 else if ( !(mIncidence->doesFloat())) 543 else if ( !(mIncidence->doesFloat()))
544 mDisplayedText += i18n(" (") +KGlobal::locale()->formatTime((static_cast<Todo*>(mIncidence))->dtDue().time())+")"; 544 mDisplayedText += i18n(" (") +KGlobal::locale()->formatTime((static_cast<Todo*>(mIncidence))->dtDue().time())+")";
545 } 545 }
546 } else { 546 } else {
547 if ( !(mIncidence->doesFloat()) && KOPrefs::instance()->mShowTimeInAgenda) 547 if ( !(mIncidence->doesFloat()) && KOPrefs::instance()->mShowTimeInAgenda)
548 mDisplayedText += ": " +KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtStart().time()) + " - " + KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtEnd().time()) ; 548 mDisplayedText += ": " +KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtStart().time()) + " - " + KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtEnd().time()) ;
549 549
550 if ( mAllDay ) { 550 if ( mAllDay ) {
551 if ( mIncidence->dtStart().date().addDays(3) < mIncidence->dtEnd().date() ) { 551 if ( mIncidence->dtStart().date().addDays(3) < mIncidence->dtEnd().date() ) {
552 mDisplayedText += ": " +KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtStart().date(), true) + " - " + KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtEnd().date(), true) ; 552 if ( mIncidence->doesRecur() ) {
553 } 553 mDisplayedText += " (" + mIncidence->recurrence()->recurrenceText() + ")";
554 } else {
555 mDisplayedText += ": " +KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtStart().date(), true) + " - " + KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtEnd().date(), true) ;
556 }
557 }
554 } 558 }
555
556 } 559 }
557 560
558 if ( !mIncidence->location().isEmpty() ) { 561 if ( !mIncidence->location().isEmpty() ) {
559 if ( mAllDay ) 562 if ( mAllDay )
560 mDisplayedText += " ("; 563 mDisplayedText += " (";
561 else 564 else
562 mDisplayedText += "\n("; 565 mDisplayedText += "\n(";
563 mDisplayedText += mIncidence->location() +")"; 566 mDisplayedText += mIncidence->location() +")";
564 } 567 }
565#ifdef DESKTOP_VERSION 568#ifdef DESKTOP_VERSION
566 QString tipText = mIncidence->summary(); 569 QString tipText = mIncidence->summary();
567 if ( !mIncidence->doesFloat() ) { 570 if ( !mIncidence->doesFloat() ) {
diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp
index 76d5c4b..f53e5d5 100644
--- a/korganizer/koagendaview.cpp
+++ b/korganizer/koagendaview.cpp
@@ -1151,25 +1151,53 @@ void KOAgendaView::fillAgenda()
1151 if ( !KOPrefs::instance()->mShowSyncEvents && event->uid().left(2) == QString("la") ) 1151 if ( !KOPrefs::instance()->mShowSyncEvents && event->uid().left(2) == QString("la") )
1152 if ( event->uid().left(15) == QString("last-syncEvent-") ) 1152 if ( event->uid().left(15) == QString("last-syncEvent-") )
1153 continue; 1153 continue;
1154 // kdDebug() << " Event: " << event->summary() << endl; 1154 // kdDebug() << " Event: " << event->summary() << endl;
1155 1155
1156 int beginX = currentDate.daysTo(event->dtStart().date()) + curCol; 1156 int beginX = currentDate.daysTo(event->dtStart().date()) + curCol;
1157 int endX = currentDate.daysTo(event->dtEnd().date()) + curCol; 1157 int endX = currentDate.daysTo(event->dtEnd().date()) + curCol;
1158 1158
1159 // kdDebug() << " beginX: " << beginX << " endX: " << endX << endl; 1159 // kdDebug() << " beginX: " << beginX << " endX: " << endX << endl;
1160 1160
1161 if (event->doesFloat()) { 1161 if (event->doesFloat()) {
1162 if (event->recurrence()->doesRecur()) { 1162 if (event->recurrence()->doesRecur()) {
1163 mAllDayAgenda->insertAllDayItem(event,currentDate,curCol,curCol); 1163 if (event->isMultiDay() ) {
1164 endX = endX - beginX;// endX is now number of days
1165 if ( event->recursOn( currentDate ) ) {
1166 endX += curCol;
1167 beginX = curCol;
1168 mAllDayAgenda->insertAllDayItem(event,currentDate,beginX,endX);
1169 } else {
1170 //qDebug("days %d %s",endX , currentDate.toString().latin1());
1171 QDate dateit = currentDate.addDays( -endX );
1172 if ( event->recursOn( dateit ) ) {
1173 //qDebug("found %d %d %d %s", endX,curCol, curCol-endX ,dateit.toString().latin1() );
1174 if ( curCol-endX < 0 ) {
1175 mAllDayAgenda->insertAllDayItem(event,currentDate,0,curCol);
1176 }
1177 }
1178 }
1179 } else {
1180 mAllDayAgenda->insertAllDayItem(event,currentDate,curCol,curCol);
1181 }
1182#if 0
1183 if (beginX <= 0 && curCol == 0) {
1184 mAllDayAgenda->insertAllDayItem(event,currentDate,beginX,endX);
1185 } else if (beginX == curCol) {
1186 mAllDayAgenda->insertAllDayItem(event,currentDate,beginX,endX);
1187 } else {
1188 qDebug("skipped %d %d %d ",beginX , endX, curCol);
1189 }
1190#endif
1191 //mAllDayAgenda->insertAllDayItem(event,currentDate,curCol,curCol);
1164 } else { 1192 } else {
1165 if (beginX <= 0 && curCol == 0) { 1193 if (beginX <= 0 && curCol == 0) {
1166 mAllDayAgenda->insertAllDayItem(event,currentDate,beginX,endX); 1194 mAllDayAgenda->insertAllDayItem(event,currentDate,beginX,endX);
1167 } else if (beginX == curCol) { 1195 } else if (beginX == curCol) {
1168 mAllDayAgenda->insertAllDayItem(event,currentDate,beginX,endX); 1196 mAllDayAgenda->insertAllDayItem(event,currentDate,beginX,endX);
1169 } 1197 }
1170 } 1198 }
1171 } else if (event->isMultiDay()) { 1199 } else if (event->isMultiDay()) {
1172 if ( event->doesRecur () ) { 1200 if ( event->doesRecur () ) {
1173 QDate dateit = currentDate; 1201 QDate dateit = currentDate;
1174 int count = 0; 1202 int count = 0;
1175 int max = event->dtStart().daysTo( event->dtEnd() ) +2; 1203 int max = event->dtStart().daysTo( event->dtEnd() ) +2;