summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--korganizer/kotodoview.cpp22
-rw-r--r--korganizer/kotodoview.h1
2 files changed, 15 insertions, 8 deletions
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp
index 8d354c8..e2966f8 100644
--- a/korganizer/kotodoview.cpp
+++ b/korganizer/kotodoview.cpp
@@ -749,11 +749,10 @@ void KOTodoView::updateView()
749 return; 749 return;
750 } 750 }
751 storeCurrentItem();
752 //qDebug("KOTodoView::updateView() %x", this); 751 //qDebug("KOTodoView::updateView() %x", this);
753 if ( isFlatDisplay ) { 752 if ( isFlatDisplay ) {
754 displayAllFlat(); 753 displayAllFlat();
755 resetCurrentItem();
756 return; 754 return;
757 } 755 }
756 storeCurrentItem();
758 //qDebug("update "); 757 //qDebug("update ");
759// kdDebug() << "KOTodoView::updateView()" << endl; 758// kdDebug() << "KOTodoView::updateView()" << endl;
@@ -836,5 +835,4 @@ void KOTodoView::updateView()
836 mTodoListView->blockSignals( false ); 835 mTodoListView->blockSignals( false );
837 resetCurrentItem(); 836 resetCurrentItem();
838 processSelectionChange();
839} 837}
840 838
@@ -861,5 +859,5 @@ void KOTodoView::storeCurrentItem()
861void KOTodoView::resetCurrentItem() 859void KOTodoView::resetCurrentItem()
862{ 860{
863 mTodoListView->setFocus(); 861 //mTodoListView->setFocus();
864 KOTodoViewItem* foundItem = 0; 862 KOTodoViewItem* foundItem = 0;
865 KOTodoViewItem* foundItemRoot = 0; 863 KOTodoViewItem* foundItemRoot = 0;
@@ -897,10 +895,20 @@ void KOTodoView::resetCurrentItem()
897 } 895 }
898 if ( foundItem ) { 896 if ( foundItem ) {
897 mTodoListView->setSelected ( foundItem, true );
899 mTodoListView->setCurrentItem( foundItem ); 898 mTodoListView->setCurrentItem( foundItem );
900 mTodoListView->ensureItemVisible( foundItem ); 899 mTodoListView->ensureItemVisible( foundItem );
901 } else { 900 } else {
901 if ( mTodoListView->firstChild () ) {
902 mTodoListView->setSelected ( mTodoListView->firstChild (), true );
902 mTodoListView->setCurrentItem( mTodoListView->firstChild () ); 903 mTodoListView->setCurrentItem( mTodoListView->firstChild () );
903 } 904 }
904 } 905 }
906 }
907 processSelectionChange();
908 QTimer::singleShot( 100, this, SLOT ( resetFocusToList() ));
909}
910void KOTodoView::resetFocusToList()
911{
912 topLevelWidget()->setActiveWindow();
905 mTodoListView->setFocus(); 913 mTodoListView->setFocus();
906} 914}
@@ -1405,4 +1413,5 @@ void KOTodoView::setOpen( QListViewItem* item, bool setOpenI)
1405void KOTodoView::displayAllFlat() 1413void KOTodoView::displayAllFlat()
1406{ 1414{
1415 storeCurrentItem();
1407 pendingSubtodo = 0; 1416 pendingSubtodo = 0;
1408 if ( mBlockUpdate ) { 1417 if ( mBlockUpdate ) {
@@ -1419,6 +1428,5 @@ void KOTodoView::displayAllFlat()
1419 mTodoMap.insert(todo,todoItem); 1428 mTodoMap.insert(todo,todoItem);
1420 } 1429 }
1421 mTodoListView->setFocus(); 1430 resetCurrentItem();
1422 processSelectionChange();
1423} 1431}
1424 1432
@@ -1431,7 +1439,5 @@ void KOTodoView::setAllFlat()
1431 return; 1439 return;
1432 } 1440 }
1433 storeCurrentItem();
1434 displayAllFlat(); 1441 displayAllFlat();
1435 resetCurrentItem();
1436} 1442}
1437 1443
diff --git a/korganizer/kotodoview.h b/korganizer/kotodoview.h
index 1b31d0d..9ae7f53 100644
--- a/korganizer/kotodoview.h
+++ b/korganizer/kotodoview.h
@@ -225,4 +225,5 @@ class KOTodoView : public KOrg::BaseView
225 void modified(bool); 225 void modified(bool);
226 void itemDoubleClicked(QListViewItem *item); 226 void itemDoubleClicked(QListViewItem *item);
227 void resetFocusToList();
227 228
228 signals: 229 signals: