author | zecke <zecke> | 2002-05-09 15:51:20 (UTC) |
---|---|---|
committer | zecke <zecke> | 2002-05-09 15:51:20 (UTC) |
commit | 168d7dcdaee8555365af4c918dc941d8cc0dcb68 (patch) (side-by-side diff) | |
tree | ce5b6b357c4247345797ae7c8c059532b3aa142d /core/pim/todo/todotable.cpp | |
parent | 7999411de407eaaf57cae9e2d0cb3767c714d161 (diff) | |
download | opie-168d7dcdaee8555365af4c918dc941d8cc0dcb68.zip opie-168d7dcdaee8555365af4c918dc941d8cc0dcb68.tar.gz opie-168d7dcdaee8555365af4c918dc941d8cc0dcb68.tar.bz2 |
Patch from Stefan Eilers to make the Table align better and the viewing of events more easy
-rw-r--r-- | core/pim/todo/todotable.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/core/pim/todo/todotable.cpp b/core/pim/todo/todotable.cpp index 877308a..52a3087 100644 --- a/core/pim/todo/todotable.cpp +++ b/core/pim/todo/todotable.cpp @@ -285,62 +285,59 @@ void TodoTable::slotClicked( int row, int col, int, const QPoint &pos ) { if ( !cellGeometry( row, col ).contains(pos) ) return; // let's switch on the column number... switch ( col ) { case 0: { CheckItem *i = static_cast<CheckItem*>(item( row, col )); if ( i ) { int x = pos.x() - columnPos( col ); int y = pos.y() - rowPos( row ); int w = columnWidth( col ); int h = rowHeight( row ); if ( i && x >= ( w - BoxSize ) / 2 && x <= ( w - BoxSize ) / 2 + BoxSize && y >= ( h - BoxSize ) / 2 && y <= ( h - BoxSize ) / 2 + BoxSize ) { i->toggle(); } emit signalDoneChanged( i->isChecked() ); } } break; case 1: break; case 2: - // may as well edit it... - // menuTimer->stop(); - // emit signalEdit(); // Show detailed view of the selected entry { menuTimer->stop(); ToDoEvent *todo = todoList[static_cast<CheckItem*>(item(row, 0))]; emit showDetails( *todo ); } break; case 3: // may as well edit it... menuTimer->stop(); - // emit signalEdit(); + emit signalEdit(); break; } } void TodoTable::slotPressed( int row, int col, int, const QPoint &pos ) { if ( col == 2 && cellGeometry( row, col ).contains(pos) ) menuTimer->start( 750, TRUE ); } void TodoTable::slotShowMenu() { emit signalShowMenu( QCursor::pos() ); } void TodoTable::slotCurrentChanged( int, int ) { menuTimer->stop(); } void TodoTable::internalAddEntries( QList<ToDoEvent> &list ) { setNumRows( list.count() ); int row = 0; @@ -649,57 +646,63 @@ void TodoTable::journalFreeReplaceEntry( const ToDoEvent &todo, int row ) void TodoTable::journalFreeRemoveEntry( int row ) { CheckItem *chk; chk = static_cast<CheckItem*>(item(row, 0 )); if ( !chk ) return; todoList.remove( chk ); realignTable( row ); } void TodoTable::keyPressEvent( QKeyEvent *e ) { if ( e->key() == Key_Space || e->key() == Key_Return ) { switch ( currentColumn() ) { case 0: { CheckItem *i = static_cast<CheckItem*>(item(currentRow(), currentColumn())); if ( i ) i->toggle(); break; } case 1: break; - case 2: + case 2:{ + ToDoEvent *todo = todoList[static_cast<CheckItem*>(item(currentRow(), 0))]; + emit showDetails(*todo); + break; + } + case 3: + // Future: Let us change the dueDate directly... emit signalEdit(); default: break; } - } else { + } else QTable::keyPressEvent( e ); } -} + QStringList TodoTable::categories() { // This is called seldom, so calling a load in here // should be fine. mCat.load( categoryFileName() ); QStringList categoryList = mCat.labels( "Todo List" ); return categoryList; } void TodoTable::slotDoFind( const QString &findString, bool caseSensitive, bool backwards, int category ) { // we have to iterate through the table, this gives the illusion that // sorting is actually being used. if ( currFindRow < -1 ) currFindRow = currentRow() - 1; clearSelection( TRUE ); int rows, row; CheckItem *chk; QRegExp r( findString ); r.setCaseSensitive( caseSensitive ); |