author | zecke <zecke> | 2002-05-09 15:51:20 (UTC) |
---|---|---|
committer | zecke <zecke> | 2002-05-09 15:51:20 (UTC) |
commit | 168d7dcdaee8555365af4c918dc941d8cc0dcb68 (patch) (unidiff) | |
tree | ce5b6b357c4247345797ae7c8c059532b3aa142d | |
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/mainwindow.cpp | 3 | ||||
-rw-r--r-- | core/pim/todo/todotable.cpp | 49 |
2 files changed, 29 insertions, 23 deletions
diff --git a/core/pim/todo/mainwindow.cpp b/core/pim/todo/mainwindow.cpp index 5609211..b7b1da0 100644 --- a/core/pim/todo/mainwindow.cpp +++ b/core/pim/todo/mainwindow.cpp | |||
@@ -244,32 +244,35 @@ TodoWindow::TodoWindow( QWidget *parent, const char *name, WFlags f ) : | |||
244 | mb->insertItem( tr( "Category" ), catMenu ); | 244 | mb->insertItem( tr( "Category" ), catMenu ); |
245 | mb->insertItem( tr( "Options"), options ); | 245 | mb->insertItem( tr( "Options"), options ); |
246 | resize( 200, 300 ); | 246 | resize( 200, 300 ); |
247 | if ( table->numRows() > 0 ) | 247 | if ( table->numRows() > 0 ) |
248 | currentEntryChanged( 0, 0 ); | 248 | currentEntryChanged( 0, 0 ); |
249 | connect( table, SIGNAL( signalEdit() ), | 249 | connect( table, SIGNAL( signalEdit() ), |
250 | this, SLOT( slotEdit() ) ); | 250 | this, SLOT( slotEdit() ) ); |
251 | connect( table, SIGNAL(signalShowMenu(const QPoint &)), | 251 | connect( table, SIGNAL(signalShowMenu(const QPoint &)), |
252 | this, SLOT( slotShowPopup(const QPoint &)) ); | 252 | this, SLOT( slotShowPopup(const QPoint &)) ); |
253 | 253 | ||
254 | // qDebug("mainwindow #3: t=%d", t.elapsed() ); | 254 | // qDebug("mainwindow #3: t=%d", t.elapsed() ); |
255 | table->updateVisible(); | 255 | table->updateVisible(); |
256 | table->setUpdatesEnabled( TRUE ); | 256 | table->setUpdatesEnabled( TRUE ); |
257 | table->setPaintingEnabled( TRUE ); | 257 | table->setPaintingEnabled( TRUE ); |
258 | table->viewport()->setUpdatesEnabled( TRUE ); | 258 | table->viewport()->setUpdatesEnabled( TRUE ); |
259 | 259 | ||
260 | // Initialize the table | ||
261 | table->updateVisible(); | ||
262 | |||
260 | connect( completedAction, SIGNAL( toggled(bool) ), this, SLOT( showCompleted(bool) ) ); | 263 | connect( completedAction, SIGNAL( toggled(bool) ), this, SLOT( showCompleted(bool) ) ); |
261 | connect( showdeadlineAction, SIGNAL( toggled(bool) ), this, SLOT( showDeadline(bool) ) ); | 264 | connect( showdeadlineAction, SIGNAL( toggled(bool) ), this, SLOT( showDeadline(bool) ) ); |
262 | connect( catMenu, SIGNAL(activated(int)), this, SLOT(setCategory(int)) ); | 265 | connect( catMenu, SIGNAL(activated(int)), this, SLOT(setCategory(int)) ); |
263 | connect( table, SIGNAL( currentChanged( int, int ) ), | 266 | connect( table, SIGNAL( currentChanged( int, int ) ), |
264 | this, SLOT( currentEntryChanged( int, int ) ) ); | 267 | this, SLOT( currentEntryChanged( int, int ) ) ); |
265 | 268 | ||
266 | connect( table, SIGNAL(showDetails(const ToDoEvent &) ), | 269 | connect( table, SIGNAL(showDetails(const ToDoEvent &) ), |
267 | this, SLOT(slotShowDetails(const ToDoEvent & ) ) ); | 270 | this, SLOT(slotShowDetails(const ToDoEvent & ) ) ); |
268 | // qDebug("done: t=%d", t.elapsed() ); | 271 | // qDebug("done: t=%d", t.elapsed() ); |
269 | } | 272 | } |
270 | 273 | ||
271 | void TodoWindow::slotNew() | 274 | void TodoWindow::slotNew() |
272 | { | 275 | { |
273 | if(syncing) { | 276 | if(syncing) { |
274 | QMessageBox::warning(this, tr("Todo"), | 277 | QMessageBox::warning(this, tr("Todo"), |
275 | tr("Can not edit data, currently syncing")); | 278 | tr("Can not edit data, currently syncing")); |
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 | |||
@@ -293,46 +293,43 @@ void TodoTable::slotClicked( int row, int col, int, const QPoint &pos ) | |||
293 | if ( i ) { | 293 | if ( i ) { |
294 | int x = pos.x() - columnPos( col ); | 294 | int x = pos.x() - columnPos( col ); |
295 | int y = pos.y() - rowPos( row ); | 295 | int y = pos.y() - rowPos( row ); |
296 | int w = columnWidth( col ); | 296 | int w = columnWidth( col ); |
297 | int h = rowHeight( row ); | 297 | int h = rowHeight( row ); |
298 | if ( i && x >= ( w - BoxSize ) / 2 && x <= ( w - BoxSize ) / 2 + BoxSize && | 298 | if ( i && x >= ( w - BoxSize ) / 2 && x <= ( w - BoxSize ) / 2 + BoxSize && |
299 | y >= ( h - BoxSize ) / 2 && y <= ( h - BoxSize ) / 2 + BoxSize ) { | 299 | y >= ( h - BoxSize ) / 2 && y <= ( h - BoxSize ) / 2 + BoxSize ) { |
300 | i->toggle(); | 300 | i->toggle(); |
301 | } | 301 | } |
302 | emit signalDoneChanged( i->isChecked() ); | 302 | emit signalDoneChanged( i->isChecked() ); |
303 | } | 303 | } |
304 | } | 304 | } |
305 | break; | 305 | break; |
306 | case 1: | 306 | case 1: |
307 | break; | 307 | break; |
308 | case 2: | 308 | case 2: |
309 | // may as well edit it... | ||
310 | // menuTimer->stop(); | ||
311 | // emit signalEdit(); | ||
312 | // Show detailed view of the selected entry | 309 | // Show detailed view of the selected entry |
313 | { | 310 | { |
314 | menuTimer->stop(); | 311 | menuTimer->stop(); |
315 | ToDoEvent *todo = todoList[static_cast<CheckItem*>(item(row, 0))]; | 312 | ToDoEvent *todo = todoList[static_cast<CheckItem*>(item(row, 0))]; |
316 | emit showDetails( *todo ); | 313 | emit showDetails( *todo ); |
317 | } | 314 | } |
318 | break; | 315 | break; |
319 | case 3: | 316 | case 3: |
320 | // may as well edit it... | 317 | // may as well edit it... |
321 | menuTimer->stop(); | 318 | menuTimer->stop(); |
322 | // emit signalEdit(); | 319 | emit signalEdit(); |
323 | break; | 320 | break; |
324 | } | 321 | } |
325 | } | 322 | } |
326 | 323 | ||
327 | void TodoTable::slotPressed( int row, int col, int, const QPoint &pos ) | 324 | void TodoTable::slotPressed( int row, int col, int, const QPoint &pos ) |
328 | { | 325 | { |
329 | if ( col == 2 && cellGeometry( row, col ).contains(pos) ) | 326 | if ( col == 2 && cellGeometry( row, col ).contains(pos) ) |
330 | menuTimer->start( 750, TRUE ); | 327 | menuTimer->start( 750, TRUE ); |
331 | } | 328 | } |
332 | 329 | ||
333 | void TodoTable::slotShowMenu() | 330 | void TodoTable::slotShowMenu() |
334 | { | 331 | { |
335 | emit signalShowMenu( QCursor::pos() ); | 332 | emit signalShowMenu( QCursor::pos() ); |
336 | } | 333 | } |
337 | 334 | ||
338 | void TodoTable::slotCurrentChanged( int, int ) | 335 | void TodoTable::slotCurrentChanged( int, int ) |
@@ -646,53 +643,59 @@ void TodoTable::journalFreeReplaceEntry( const ToDoEvent &todo, int row ) | |||
646 | } | 643 | } |
647 | } | 644 | } |
648 | 645 | ||
649 | void TodoTable::journalFreeRemoveEntry( int row ) | 646 | void TodoTable::journalFreeRemoveEntry( int row ) |
650 | { | 647 | { |
651 | CheckItem *chk; | 648 | CheckItem *chk; |
652 | chk = static_cast<CheckItem*>(item(row, 0 )); | 649 | chk = static_cast<CheckItem*>(item(row, 0 )); |
653 | if ( !chk ) | 650 | if ( !chk ) |
654 | return; | 651 | return; |
655 | todoList.remove( chk ); | 652 | todoList.remove( chk ); |
656 | 653 | ||
657 | realignTable( row ); | 654 | realignTable( row ); |
658 | } | 655 | } |
659 | 656 | ||
660 | void TodoTable::keyPressEvent( QKeyEvent *e ) | 657 | void TodoTable::keyPressEvent( QKeyEvent *e ) |
661 | { | 658 | { |
662 | if ( e->key() == Key_Space || e->key() == Key_Return ) { | 659 | if ( e->key() == Key_Space || e->key() == Key_Return ) { |
663 | switch ( currentColumn() ) { | 660 | switch ( currentColumn() ) { |
664 | case 0: { | 661 | case 0: { |
665 | CheckItem *i = static_cast<CheckItem*>(item(currentRow(), | 662 | CheckItem *i = static_cast<CheckItem*>(item(currentRow(), |
666 | currentColumn())); | 663 | currentColumn())); |
667 | if ( i ) | 664 | if ( i ) |
668 | i->toggle(); | 665 | i->toggle(); |
669 | break; | 666 | break; |
670 | } | 667 | } |
671 | case 1: | 668 | case 1: |
672 | break; | 669 | break; |
673 | case 2: | 670 | case 2:{ |
674 | emit signalEdit(); | 671 | ToDoEvent *todo = todoList[static_cast<CheckItem*>(item(currentRow(), 0))]; |
675 | default: | 672 | emit showDetails(*todo); |
676 | break; | 673 | break; |
677 | } | 674 | } |
678 | } else { | 675 | case 3: |
679 | QTable::keyPressEvent( e ); | 676 | // Future: Let us change the dueDate directly... |
680 | } | 677 | emit signalEdit(); |
678 | default: | ||
679 | break; | ||
680 | } | ||
681 | } else | ||
682 | QTable::keyPressEvent( e ); | ||
681 | } | 683 | } |
682 | 684 | ||
685 | |||
683 | QStringList TodoTable::categories() | 686 | QStringList TodoTable::categories() |
684 | { | 687 | { |
685 | // This is called seldom, so calling a load in here | 688 | // This is called seldom, so calling a load in here |
686 | // should be fine. | 689 | // should be fine. |
687 | mCat.load( categoryFileName() ); | 690 | mCat.load( categoryFileName() ); |
688 | QStringList categoryList = mCat.labels( "Todo List" ); | 691 | QStringList categoryList = mCat.labels( "Todo List" ); |
689 | return categoryList; | 692 | return categoryList; |
690 | } | 693 | } |
691 | 694 | ||
692 | void TodoTable::slotDoFind( const QString &findString, bool caseSensitive, | 695 | void TodoTable::slotDoFind( const QString &findString, bool caseSensitive, |
693 | bool backwards, int category ) | 696 | bool backwards, int category ) |
694 | { | 697 | { |
695 | // we have to iterate through the table, this gives the illusion that | 698 | // we have to iterate through the table, this gives the illusion that |
696 | // sorting is actually being used. | 699 | // sorting is actually being used. |
697 | if ( currFindRow < -1 ) | 700 | if ( currFindRow < -1 ) |
698 | currFindRow = currentRow() - 1; | 701 | currFindRow = currentRow() - 1; |