-rw-r--r-- | core/pim/todo/tableview.cpp | 113 |
1 files changed, 58 insertions, 55 deletions
diff --git a/core/pim/todo/tableview.cpp b/core/pim/todo/tableview.cpp index a8cc271..faf4611 100644 --- a/core/pim/todo/tableview.cpp +++ b/core/pim/todo/tableview.cpp | |||
@@ -37,2 +37,3 @@ | |||
37 | #include <qpe/config.h> | 37 | #include <qpe/config.h> |
38 | #include <qpe/resource.h> | ||
38 | 39 | ||
@@ -66,13 +67,2 @@ TableView::TableView( MainWindow* window, QWidget* wid ) | |||
66 | 67 | ||
67 | setSorting( TRUE ); | ||
68 | setSelectionMode( NoSelection ); | ||
69 | // setColumnStretchable( 2, TRUE ); | ||
70 | setColumnStretchable( 3, FALSE ); | ||
71 | setColumnWidth(0, 20 ); | ||
72 | setColumnWidth(1, 35 ); | ||
73 | setColumnWidth(3, 18 ); | ||
74 | |||
75 | setLeftMargin( 0 ); | ||
76 | verticalHeader()->hide(); | ||
77 | |||
78 | horizontalHeader()->setLabel(0, tr("C.") ); | 68 | horizontalHeader()->setLabel(0, tr("C.") ); |
@@ -80,6 +70,9 @@ TableView::TableView( MainWindow* window, QWidget* wid ) | |||
80 | horizontalHeader()->setLabel(2, tr("Description" ) ); | 70 | horizontalHeader()->setLabel(2, tr("Description" ) ); |
71 | horizontalHeader()->setLabel( 3, tr("Deadline") ); | ||
81 | 72 | ||
82 | // setColumnStretchable(3, FALSE ); | 73 | setSorting( TRUE ); |
74 | setSelectionMode( NoSelection ); | ||
83 | 75 | ||
84 | horizontalHeader()->setLabel(3, tr("Deadline") ); | 76 | setLeftMargin( 0 ); |
77 | verticalHeader()->hide(); | ||
85 | 78 | ||
@@ -111,2 +104,25 @@ TableView::TableView( MainWindow* window, QWidget* wid ) | |||
111 | 104 | ||
105 | // Load icons | ||
106 | // TODO - probably should be done globally somewhere else, see also quickeditimpl.cpp/h | ||
107 | m_pic_completed = Resource::loadPixmap( "todo/completed" ); | ||
108 | QString namestr; | ||
109 | for ( unsigned int i = 1; i < 6; i++ ) { | ||
110 | namestr = "todo/priority"; | ||
111 | namestr.append( QString::number( i ) ); | ||
112 | m_pic_priority[ i - 1 ] = Resource::loadPixmap( namestr ); | ||
113 | } | ||
114 | |||
115 | // Try to intelligently size columns | ||
116 | int col2width = 240; | ||
117 | int width = m_pic_completed.width(); | ||
118 | setColumnWidth( 0, width ); | ||
119 | col2width -= width; | ||
120 | width = fontMetrics().boundingRect( horizontalHeader()->label( 1 ) ).width()+8; | ||
121 | setColumnWidth( 1, width ); | ||
122 | col2width -= width; | ||
123 | width = fontMetrics().boundingRect( horizontalHeader()->label( 3 ) ).width()+8; | ||
124 | setColumnWidth( 3, width ); | ||
125 | col2width -= width; | ||
126 | setColumnWidth( 2, col2width - 2 ); | ||
127 | |||
112 | /* now let's init the config */ | 128 | /* now let's init the config */ |
@@ -317,9 +333,19 @@ void TableView::paintCell(QPainter* p, int row, int col, const QRect& cr, bool | |||
317 | 333 | ||
334 | // TODO - give user option for grid or bars? | ||
335 | |||
336 | // Paint alternating background bars | ||
337 | if ( (row % 2 ) == 0 ) { | ||
318 | p->fillRect( 0, 0, cr.width(), cr.height(), cg.brush( QColorGroup::Base ) ); | 338 | p->fillRect( 0, 0, cr.width(), cr.height(), cg.brush( QColorGroup::Base ) ); |
339 | } | ||
340 | else { | ||
341 | p->fillRect( 0, 0, cr.width(), cr.height(), cg.brush( QColorGroup::Background ) ); | ||
342 | } | ||
319 | 343 | ||
320 | QPen op = p->pen(); | 344 | // Paint grid |
321 | p->setPen(cg.mid()); | 345 | //p->fillRect( 0, 0, cr.width(), cr.height(), cg.brush( QColorGroup::Base ) ); |
322 | p->drawLine( 0, cr.height() - 1, cr.width() - 1, cr.height() - 1 ); | 346 | //QPen op = p->pen(); |
323 | p->drawLine( cr.width() - 1, 0, cr.width() - 1, cr.height() - 1 ); | 347 | //p->setPen(cg.mid()); |
324 | p->setPen(op); | 348 | //p->drawLine( 0, cr.height() - 1, cr.width() - 1, cr.height() - 1 ); |
349 | //p->drawLine( cr.width() - 1, 0, cr.width() - 1, cr.height() - 1 ); | ||
350 | //p->setPen(op); | ||
325 | 351 | ||
@@ -328,6 +354,2 @@ void TableView::paintCell(QPainter* p, int row, int col, const QRect& cr, bool | |||
328 | 354 | ||
329 | switch(col) { | ||
330 | case 0: | ||
331 | { | ||
332 | // completed field | ||
333 | int marg = ( cr.width() - BoxSize ) / 2; | 355 | int marg = ( cr.width() - BoxSize ) / 2; |
@@ -335,25 +357,11 @@ void TableView::paintCell(QPainter* p, int row, int col, const QRect& cr, bool | |||
335 | int y = ( cr.height() - BoxSize ) / 2; | 357 | int y = ( cr.height() - BoxSize ) / 2; |
336 | p->setPen( QPen( cg.text() ) ); | 358 | |
337 | p->drawRect( x + marg, y, BoxSize, BoxSize ); | 359 | switch(col) { |
338 | p->drawRect( x + marg+1, y+1, BoxSize-2, BoxSize-2 ); | 360 | case 0: // completed field |
339 | p->setPen( darkGreen ); | 361 | { |
340 | x += 1; | 362 | //p->setPen( QPen( cg.text() ) ); |
341 | y += 1; | 363 | //p->drawRect( x + marg, y, BoxSize, BoxSize ); |
364 | //p->drawRect( x + marg+1, y+1, BoxSize-2, BoxSize-2 ); | ||
342 | if ( task.isCompleted() ) { | 365 | if ( task.isCompleted() ) { |
343 | QPointArray a( 9*2 ); | 366 | p->drawPixmap( x + marg, y, m_pic_completed ); |
344 | int i, xx, yy; | ||
345 | xx = x+2+marg; | ||
346 | yy = y+4; | ||
347 | for ( i=0; i<4; i++ ) { | ||
348 | a.setPoint( 2*i, xx, yy ); | ||
349 | a.setPoint( 2*i+1, xx, yy+2 ); | ||
350 | xx++; yy++; | ||
351 | } | ||
352 | yy -= 2; | ||
353 | for ( i=4; i<9; i++ ) { | ||
354 | a.setPoint( 2*i, xx, yy ); | ||
355 | a.setPoint( 2*i+1, xx, yy+2 ); | ||
356 | xx++; yy--; | ||
357 | } | ||
358 | p->drawLineSegments( a ); | ||
359 | } | 367 | } |
@@ -361,11 +369,8 @@ void TableView::paintCell(QPainter* p, int row, int col, const QRect& cr, bool | |||
361 | break; | 369 | break; |
362 | case 1: | 370 | case 1: // priority field |
363 | // priority field | ||
364 | { | 371 | { |
365 | QString text = QString::number(task.priority()); | 372 | p->drawPixmap( x + marg, y, m_pic_priority[ task.priority() - 1 ] ); |
366 | p->drawText(2,2 + fm.ascent(), text); | ||
367 | } | 373 | } |
368 | break; | 374 | break; |
369 | case 2: | 375 | case 2: // description field |
370 | // description field | ||
371 | { | 376 | { |
@@ -410,7 +415,5 @@ QWidget* TableView::createEditor(int row, int col, bool )const { | |||
410 | QComboBox* combo = new QComboBox( viewport() ); | 415 | QComboBox* combo = new QComboBox( viewport() ); |
411 | combo->insertItem( "1" ); | 416 | for ( int i = 0; i < 5; i++ ) { |
412 | combo->insertItem( "2" ); | 417 | combo->insertItem( m_pic_priority[ i ] ); |
413 | combo->insertItem( "3" ); | 418 | } |
414 | combo->insertItem( "4" ); | ||
415 | combo->insertItem( "5" ); | ||
416 | combo->setCurrentItem( sorted()[row].priority()-1 ); | 419 | combo->setCurrentItem( sorted()[row].priority()-1 ); |