-rw-r--r-- | korganizer/kotodoview.cpp | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp index 0a315cb..01cf0ff 100644 --- a/korganizer/kotodoview.cpp +++ b/korganizer/kotodoview.cpp | |||
@@ -218,10 +218,12 @@ void KOTodoListView::contentsMousePressEvent(QMouseEvent* e) | |||
218 | //qDebug("%d %d %d", X, header()->sectionPos(0), treeStepSize() ); | 218 | //qDebug("%d %d %d", X, header()->sectionPos(0), treeStepSize() ); |
219 | if (X > header()->sectionPos(0) + | 219 | if (X > header()->sectionPos(0) + |
220 | treeStepSize() * (i->depth() + (rootIsDecorated() ? 1 : 0)) + | 220 | treeStepSize() * (i->depth() + (rootIsDecorated() ? 1 : 0)) + |
221 | itemMargin() || | 221 | itemMargin() +i->height()|| |
222 | X < header()->sectionPos(0)) { | 222 | X < header()->sectionPos(0)) { |
223 | rootClicked = false; | 223 | rootClicked = false; |
224 | } | 224 | } |
225 | } else { | ||
226 | rootClicked = false; | ||
225 | } | 227 | } |
226 | #ifndef KORG_NODND | 228 | #ifndef KORG_NODND |
227 | mMousePressed = false; | 229 | mMousePressed = false; |
@@ -730,9 +732,9 @@ void KOTodoView::storeCurrentItem() | |||
730 | KOTodoViewItem* activeItemAbove = (KOTodoViewItem*)mActiveItem->itemAbove (); | 732 | KOTodoViewItem* activeItemAbove = (KOTodoViewItem*)mActiveItem->itemAbove (); |
731 | if ( activeItemAbove ) | 733 | if ( activeItemAbove ) |
732 | mCurItemAbove = activeItemAbove->todo(); | 734 | mCurItemAbove = activeItemAbove->todo(); |
733 | while ( mActiveItem->parent() != 0 ) | 735 | mCurItemRootParent = mCurItem; |
734 | mActiveItem = (KOTodoViewItem*)mActiveItem->parent(); | 736 | while ( mCurItemRootParent->relatedTo() != 0 ) |
735 | mCurItemRootParent = mActiveItem->todo(); | 737 | mCurItemRootParent = mCurItemRootParent->relatedTo(); |
736 | } | 738 | } |
737 | mActiveItem = 0; | 739 | mActiveItem = 0; |
738 | } | 740 | } |
@@ -759,10 +761,10 @@ void KOTodoView::resetCurrentItem() | |||
759 | item = (KOTodoViewItem*)item->itemBelow(); | 761 | item = (KOTodoViewItem*)item->itemBelow(); |
760 | } | 762 | } |
761 | if ( ! foundItem ) { | 763 | if ( ! foundItem ) { |
762 | if ( foundItemAbove ) | 764 | if ( foundItemRoot ) |
763 | foundItem = foundItemAbove; | ||
764 | else | ||
765 | foundItem = foundItemRoot; | 765 | foundItem = foundItemRoot; |
766 | else | ||
767 | foundItem = foundItemAbove; | ||
766 | } | 768 | } |
767 | } | 769 | } |
768 | if ( foundItem ) { | 770 | if ( foundItem ) { |
@@ -1205,8 +1207,11 @@ void KOTodoView::setAllOpen() | |||
1205 | isFlatDisplay = false; | 1207 | isFlatDisplay = false; |
1206 | mPopupMenu->setItemChecked( 8,false ); | 1208 | mPopupMenu->setItemChecked( 8,false ); |
1207 | updateView(); | 1209 | updateView(); |
1210 | } else { | ||
1211 | storeCurrentItem(); | ||
1208 | } | 1212 | } |
1209 | setOpen(mTodoListView->firstChild(), true); | 1213 | setOpen(mTodoListView->firstChild(), true); |
1214 | resetCurrentItem(); | ||
1210 | } | 1215 | } |
1211 | void KOTodoView::setAllClose() | 1216 | void KOTodoView::setAllClose() |
1212 | { | 1217 | { |
@@ -1214,8 +1219,11 @@ void KOTodoView::setAllClose() | |||
1214 | isFlatDisplay = false; | 1219 | isFlatDisplay = false; |
1215 | mPopupMenu->setItemChecked( 8,false ); | 1220 | mPopupMenu->setItemChecked( 8,false ); |
1216 | updateView(); | 1221 | updateView(); |
1222 | } else { | ||
1223 | storeCurrentItem(); | ||
1217 | } | 1224 | } |
1218 | setOpen(mTodoListView->firstChild(), false); | 1225 | setOpen(mTodoListView->firstChild(), false); |
1226 | resetCurrentItem(); | ||
1219 | } | 1227 | } |
1220 | void KOTodoView::setOpen( QListViewItem* item, bool setOpenI) | 1228 | void KOTodoView::setOpen( QListViewItem* item, bool setOpenI) |
1221 | { | 1229 | { |
@@ -1254,8 +1262,10 @@ void KOTodoView::setAllFlat() | |||
1254 | mPopupMenu->setItemChecked( 8,false ); | 1262 | mPopupMenu->setItemChecked( 8,false ); |
1255 | updateView(); | 1263 | updateView(); |
1256 | return; | 1264 | return; |
1257 | } | 1265 | } |
1266 | storeCurrentItem(); | ||
1258 | displayAllFlat(); | 1267 | displayAllFlat(); |
1268 | resetCurrentItem(); | ||
1259 | } | 1269 | } |
1260 | 1270 | ||
1261 | void KOTodoView::purgeCompleted() | 1271 | void KOTodoView::purgeCompleted() |