author | zecke <zecke> | 2004-02-08 16:18:37 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-02-08 16:18:37 (UTC) |
commit | d8129e2deeffcb5256c5c9d22fbd1fa743e8b6fe (patch) (unidiff) | |
tree | 5f57bc4073015cb39ec1ddae12825ae9c3b8c02e | |
parent | 6506eeeeaa8d52ae0895630de00e38bc2b8ff10c (diff) | |
download | opie-d8129e2deeffcb5256c5c9d22fbd1fa743e8b6fe.zip opie-d8129e2deeffcb5256c5c9d22fbd1fa743e8b6fe.tar.gz opie-d8129e2deeffcb5256c5c9d22fbd1fa743e8b6fe.tar.bz2 |
Fix two problems:
1.) accept the key event so it does not reoccur and reoccur
2.) do not crash if asked to delete and there is nothing to delete
-rw-r--r-- | core/pim/todo/tableview.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/core/pim/todo/tableview.cpp b/core/pim/todo/tableview.cpp index 3daf370..d980a24 100644 --- a/core/pim/todo/tableview.cpp +++ b/core/pim/todo/tableview.cpp | |||
@@ -593,19 +593,28 @@ void TableView::keyPressEvent( QKeyEvent* event) { | |||
593 | // setCellContentFromEditor(m_editorWidget.cellRow(), m_editorWidget.cellCol() ); | 593 | // setCellContentFromEditor(m_editorWidget.cellRow(), m_editorWidget.cellCol() ); |
594 | endEdit(m_editorWidget.cellRow(), m_editorWidget.cellCol(), | 594 | endEdit(m_editorWidget.cellRow(), m_editorWidget.cellCol(), |
595 | true, true ); | 595 | true, true ); |
596 | m_editorWidget.releaseCellWidget(); | 596 | m_editorWidget.releaseCellWidget(); |
597 | setFocus(); | 597 | setFocus(); |
598 | } | 598 | } |
599 | |||
600 | if ( sorted().count() < 1 ) { | ||
601 | QTable::keyPressEvent( event ); | ||
602 | return; | ||
603 | } | ||
604 | |||
599 | int row = currentRow(); | 605 | int row = currentRow(); |
600 | int col = currentColumn(); | 606 | int col = currentColumn(); |
601 | 607 | ||
602 | char key = ::toupper( event->ascii() ); | 608 | char key = ::toupper( event->ascii() ); |
603 | /* let QTable also handle the d later */ | 609 | /* let QTable also handle the d letter */ |
604 | if ( key == 'D' ) | 610 | if ( key == 'D' ) { |
611 | event->accept(); | ||
605 | removeQuery( sorted().uidAt( row ) ); | 612 | removeQuery( sorted().uidAt( row ) ); |
613 | return; | ||
614 | } | ||
606 | 615 | ||
607 | 616 | ||
608 | switch( event->key() ) { | 617 | switch( event->key() ) { |
609 | case Qt::Key_F33: | 618 | case Qt::Key_F33: |
610 | case Qt::Key_Enter: | 619 | case Qt::Key_Enter: |
611 | case Qt::Key_Return: | 620 | case Qt::Key_Return: |
@@ -617,13 +626,13 @@ void TableView::keyPressEvent( QKeyEvent* event) { | |||
617 | m_editorWidget.setCellWidget( wid, row, col ); | 626 | m_editorWidget.setCellWidget( wid, row, col ); |
618 | }else if ( col == 2 ) { | 627 | }else if ( col == 2 ) { |
619 | showTodo( sorted().uidAt( currentRow() ) ); | 628 | showTodo( sorted().uidAt( currentRow() ) ); |
620 | }else if ( col == 3 ) { | 629 | }else if ( col == 3 ) { |
621 | TodoView::edit( sorted().uidAt(row) ); | 630 | TodoView::edit( sorted().uidAt(row) ); |
622 | } | 631 | } |
623 | 632 | event->accept(); | |
624 | break; | 633 | break; |
625 | default: | 634 | default: |
626 | QTable::keyPressEvent( event ); | 635 | QTable::keyPressEvent( event ); |
627 | } | 636 | } |
628 | } | 637 | } |
629 | 638 | ||