summaryrefslogtreecommitdiffabout
path: root/korganizer
authorzautrix <zautrix>2005-04-08 11:36:36 (UTC)
committer zautrix <zautrix>2005-04-08 11:36:36 (UTC)
commitba04f6a4b6b651dcff11ca17103cba42330e52be (patch) (side-by-side diff)
treec8c02a1327abbd87cf5f019399e8e7bf1940a2bc /korganizer
parent59fb8a0ac35bf3b81f1c4e2e4fc6b61356d064ef (diff)
downloadkdepimpi-ba04f6a4b6b651dcff11ca17103cba42330e52be.zip
kdepimpi-ba04f6a4b6b651dcff11ca17103cba42330e52be.tar.gz
kdepimpi-ba04f6a4b6b651dcff11ca17103cba42330e52be.tar.bz2
fix
Diffstat (limited to 'korganizer') (more/less context) (show whitespace changes)
-rw-r--r--korganizer/kotodoview.cpp13
-rw-r--r--korganizer/kotodoview.h2
2 files changed, 13 insertions, 2 deletions
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp
index 395325c..935a5f5 100644
--- a/korganizer/kotodoview.cpp
+++ b/korganizer/kotodoview.cpp
@@ -731,6 +731,7 @@ void KOTodoView::storeCurrentItem()
{
mCurItem = 0;
mCurItemRootParent = 0;
+ mCurItemParent = 0;
mCurItemAbove = 0;
mActiveItem = (KOTodoViewItem*)mTodoListView->currentItem();
if (mActiveItem) {
@@ -739,6 +740,7 @@ void KOTodoView::storeCurrentItem()
if ( activeItemAbove )
mCurItemAbove = activeItemAbove->todo();
mCurItemRootParent = mCurItem;
+ mCurItemParent = mCurItemRootParent->relatedTo();
while ( mCurItemRootParent->relatedTo() != 0 )
mCurItemRootParent = mCurItemRootParent->relatedTo();
}
@@ -750,6 +752,7 @@ void KOTodoView::resetCurrentItem()
mTodoListView->setFocus();
KOTodoViewItem* foundItem = 0;
KOTodoViewItem* foundItemRoot = 0;
+ KOTodoViewItem* foundItemParent = 0;
KOTodoViewItem* foundItemAbove = 0;
if ( mTodoListView->firstChild () ) {
if ( mCurItem ) {
@@ -761,18 +764,26 @@ void KOTodoView::resetCurrentItem()
} else if ( item->todo() == mCurItemAbove ) {
foundItemAbove = item;
- } else if ( item->todo() == mCurItemRootParent ) {
+ }
+ if ( item->todo() == mCurItemRootParent ) {
foundItemRoot = item;
}
+ if ( item->todo() == mCurItemParent ) {
+ foundItemParent = item;
+ }
item = (KOTodoViewItem*)item->itemBelow();
}
if ( ! foundItem ) {
+ if ( foundItemParent ) {
+ foundItem = foundItemParent;
+ } else {
if ( foundItemRoot )
foundItem = foundItemRoot;
else
foundItem = foundItemAbove;
}
}
+ }
if ( foundItem ) {
mTodoListView->setCurrentItem( foundItem );
mTodoListView->ensureItemVisible( foundItem );
diff --git a/korganizer/kotodoview.h b/korganizer/kotodoview.h
index 39976cf..d0788a9 100644
--- a/korganizer/kotodoview.h
+++ b/korganizer/kotodoview.h
@@ -257,7 +257,7 @@ class KOTodoView : public KOrg::BaseView
DateNavigator* mNavigator;
void storeCurrentItem();
void resetCurrentItem();
- Incidence * mCurItem, *mCurItemRootParent,*mCurItemAbove;
+ Incidence * mCurItem, *mCurItemRootParent, *mCurItemParent,*mCurItemAbove;
};
#endif