summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/calprintbase.cpp26
-rw-r--r--korganizer/calprinter.cpp2
2 files changed, 18 insertions, 10 deletions
diff --git a/korganizer/calprintbase.cpp b/korganizer/calprintbase.cpp
index 6bb407d..f66fddc 100644
--- a/korganizer/calprintbase.cpp
+++ b/korganizer/calprintbase.cpp
@@ -904,37 +904,39 @@ void CalPrintBase::drawTodo( bool completed, int &count, Todo * item, QPainter &
// This list keeps all starting points of the parent todos so the connection
// lines of the tree can easily be drawn (needed if a new page is started)
static QPtrList<TodoParentStart> startPoints;
if (level<1) {
startPoints.clear();
}
// size of item
outStr=item->summary();
if ( ! item->location().isEmpty() )
outStr += " ("+item->location()+")";
if ( item->hasDueDate() && posDueDt>=0 ) {
outStr += " [" +local->formatDate(item->dtDue().date(),true)+"]";
}
int left = possummary+(level*10);
rect = p.boundingRect(left, y, (posdue-left-5),-1, WordBreak, outStr);
+ //qDebug("bottom1 %d ", rect.bottom() );
if ( !item->description().isEmpty() && desc ) {
outStr = item->description();
rect = p.boundingRect( left+20, rect.bottom()+5, width-(left+10-x), -1,
WordBreak, outStr );
}
+ //qDebug("bottom2 %d y+h %d y %d ph %d", rect.bottom(), y+height, y , pageHeight );
// if too big make new page
if ( rect.bottom() > y+height) {
// first draw the connection lines from parent todos:
if (level > 0 && connectSubTodos) {
TodoParentStart *rct;
for ( rct = startPoints.first(); rct; rct = startPoints.next() ) {
int start;
int center = rct->mRect.left() + (rct->mRect.width()/2);
int to = p.viewport().bottom();
// draw either from start point of parent or from top of the page
if (rct->mSamePage)
start = rct->mRect.bottom() + 1;
else
start = p.viewport().top();
p.moveTo( center, start );
@@ -951,70 +953,76 @@ void CalPrintBase::drawTodo( bool completed, int &count, Todo * item, QPainter &
//to the RH side of the parent item's priority
if (r && pospriority >= 0 ) {
pospriority = r->mRect.right() + 1;
}
// Priority
outStr.setNum(priority);
rect = p.boundingRect(pospriority, y + 10, 5, -1, AlignCenter, outStr);
// Make it a more reasonable size
rect.setWidth(19);
rect.setHeight(19);
if ( priority > 0 && pospriority>=0 ) {
p.drawText(rect, AlignCenter, outStr);
p.drawRect(rect);
// cross out the rectangle for completed items
if ( item->isCompleted() ) {
- p.drawLine( rect.topLeft(), rect.bottomRight() );
- p.drawLine( rect.topRight(), rect.bottomLeft() );
+ p.drawLine( rect.topLeft(), rect.bottomRight() );
+ p.drawLine( rect.topRight(), rect.bottomLeft() );
+ } else if (item->cancelled() ) {
+ QPen pen = p.pen();
+ p.setPen ( QPen ( black, 2) );
+ p.drawLine( rect.left()+2,rect.top()+rect.height()/2, rect.right()-2, +rect.top()+rect.height()/2 );
+ p.setPen( pen );
}
- }
+ }
startpt.mRect = rect; //save for later
// Connect the dots
if (level > 0 && connectSubTodos) {
int bottom;
int center( r->mRect.left() + (r->mRect.width()/2)+1 );
if (r->mSamePage )
bottom = r->mRect.bottom();//lutz + 1;
else
bottom = 0;
int to( rect.top() + (rect.height()/2)+1 );
int endx( rect.left() );
p.moveTo(center, bottom);
p.lineTo(center, to);
p.lineTo(endx, to);
}
// if completed, use strike out font
- QFont ft=p.font();
- ft.setStrikeOut( item->isCompleted() );
- p.setFont( ft );
+ // LR does not work - font is underlined, not striked out
+ //QFont ft=p.font();
+ //ft.setStrikeOut( item->isCompleted() );
+ //p.setFont( ft );
// summary
outStr=item->summary();
if ( ! item->location().isEmpty() )
outStr += " ("+item->location()+")";
if ( item->hasDueDate() && posDueDt>=0 ) {
- outStr += " [" +local->formatDate(item->dtDue().date(),true)+"]";
+ outStr += " [" +item->dtDueStr(true)+"]";
}
rect = p.boundingRect( left, rect.top(), (posdue-(left + rect.width() + 5)),
-1, WordBreak, outStr);
QRect newrect;
p.drawText( rect, WordBreak, outStr, -1, &newrect );
- ft.setStrikeOut(false);
- p.setFont(ft);
+ //ft.setStrikeOut(false);
+ // p.setFont(ft);
// due
// if ( item->hasDueDate() && posDueDt>=0 ) {
// outStr = local->formatDate(item->dtDue().date(),true);
// rect = p.boundingRect(posdue, y, x+width, -1, AlignTop|AlignLeft, outStr);
// p.drawText(rect, AlignTop|AlignLeft, outStr);
// }
if ( !item->description().isEmpty() && desc ) {
y=newrect.bottom() + 5;
outStr = item->description();
rect = p.boundingRect( left+20, y, x+width-(left+10), -1,
WordBreak, outStr );
p.drawText( rect, WordBreak, outStr, -1, &newrect );
}
diff --git a/korganizer/calprinter.cpp b/korganizer/calprinter.cpp
index 6b5b0fe..0cdf28e 100644
--- a/korganizer/calprinter.cpp
+++ b/korganizer/calprinter.cpp
@@ -118,33 +118,33 @@ void CalPrinter::setDateRange( const QDate &fd, const QDate &td )
}
}
void CalPrinter::preview( PrintType type, const QDate &fd, const QDate &td )
{
mPrintDialog->setPreview( true );
mPrintDialog->setPrintType( int( type ) );
setDateRange( fd, td );
if ( mPrintDialog->exec() == QDialog::Accepted ) {
doPrint( mPrintDialog->selectedPlugin(), true );
}
}
void CalPrinter::print( PrintType type, const QDate &fd, const QDate &td )
{
- mPrintDialog->resize( 640, 380 );
+ mPrintDialog->resize( 640, 440 );
mPrintDialog->setPreview( false );
mPrintDialog->setPrintType( int( type ) );
setDateRange( fd, td );
if ( mPrintDialog->exec() == QDialog::Accepted ) {
doPrint( mPrintDialog->selectedPlugin(), false );
}
}
void CalPrinter::doPrint( CalPrintBase *selectedStyle, bool preview )
{
// FIXME: add a better caption to the Printingdialog
//mPrinter->setPreviewOnly( preview );
if ( preview || mPrinter->setup( mParent ) ) {
switch ( mPrintDialog->orientation() ) {
case eOrientPlugin: