-rw-r--r-- | core/pim/todo/todotable.h | 43 |
1 files changed, 23 insertions, 20 deletions
diff --git a/core/pim/todo/todotable.h b/core/pim/todo/todotable.h index 288ff90..32df514 100644 --- a/core/pim/todo/todotable.h +++ b/core/pim/todo/todotable.h @@ -76,8 +76,21 @@ public: QString key () const { return Qtopia::buildSortKey( text() ); } }; +class DueTextItem : public QTableItem +{ + public: + DueTextItem( QTable *t, ToDoEvent *ev ); + QString key() const; + void setToDoEvent( const ToDoEvent *ev ); + void paint( QPainter *p, const QColorGroup &cg, const QRect &cr, bool selected ); + private: + int m_off; + bool m_hasDate:1; + bool m_completed:1; + +}; enum journal_action { ACTION_ADD, ACTION_REMOVE, ACTION_REPLACE }; @@ -97,9 +110,8 @@ public: void setShowCompleted( bool sc ) { showComp = sc; updateVisible(); } bool showCompleted() const { return showComp; } - /* added 20.01.2k2 by se */ void setShowDeadline (bool sd) {showDeadl = sd; updateVisible();} bool showDeadline() const { return showDeadl;} void setShowCategory( const QString &c ) { showCat = c; updateVisible(); } @@ -162,11 +174,9 @@ private: QTimer *menuTimer; bool enablePainting; Categories mCat; int currFindRow; - - /* added 20.01.2k2 by se */ - bool showDeadl; + bool showDeadl:1; }; inline void TodoTable::insertIntoTable( ToDoEvent *todo, int row ) @@ -180,21 +190,10 @@ inline void TodoTable::insertIntoTable( ToDoEvent *todo, int row ) cmb->setText( QString::number( todo->priority() ) ); QTableItem *ti = new TodoTextItem( this, todo->description().left(40).simplifyWhiteSpace() ); ti->setReplaceable( false ); - /* added 20.01.2k2 by se */ - QTableItem *dl = NULL; - if (todo->hasDate()){ - QDate *today = new QDate (QDate::currentDate()); - if (today){ - dl = new TodoTextItem (this, tr ("%1"). - arg(today->daysTo(todo->date()))); - delete (today); - } - }else{ - dl = new TodoTextItem (this,"n.d."); - } - setItem( row, 3, dl); + DueTextItem *due = new DueTextItem(this, todo ); + setItem( row, 3, due); setItem( row, 0, chk ); setItem( row, 1, cmb ); setItem( row, 2, ti ); @@ -204,11 +203,12 @@ inline void TodoTable::insertIntoTable( ToDoEvent *todo, int row ) } inline void TodoTable::realignTable( int row ) { - QTableItem *ti1, - *ti2, - *ti3; + QTableItem *ti1, + *ti2, + *ti3, + *ti4; int totalRows = numRows(); for ( int curr = row; curr < totalRows - 1; curr++ ) { // this is bad, we must take the item out and then // set it. In the end, it behaves no worse (time wise) @@ -216,14 +216,17 @@ inline void TodoTable::realignTable( int row ) // the table re-reading in the file and resetting the table ti1 = item( curr + 1, 0 ); ti2 = item( curr + 1, 1 ); ti3 = item( curr + 1, 2 ); + ti4 = item( curr + 1, 3 ); takeItem( ti1 ); takeItem( ti2 ); takeItem( ti3 ); + takeItem( ti4 ); setItem( curr, 0, ti1 ); setItem( curr, 1, ti2 ); setItem( curr, 2, ti3 ); + setItem( curr, 3, ti4 ); } setNumRows( totalRows - 1 ); } |