diff -r 2f002657dada -r 6e4b586aa88a xml-vym.cpp --- a/xml-vym.cpp Tue May 26 11:24:51 2009 +0000 +++ b/xml-vym.cpp Wed Jun 03 20:37:17 2009 +0000 @@ -151,8 +151,7 @@ lastBranchItem=bi; if (loadMode==ImportAdd) { - model->createBranch(); - lastBranchItem=model->getSelectedBranchItem(); + lastBranchItem=model->createBranch(lastBranchItem); } //else //FIXME-3 lastBranch->clear(); } else @@ -212,8 +211,7 @@ state=StateBranch; if (loadMode==ImportAdd) { - model->createBranch(); - lastBranchItem=model->getSelectedBranchItem(); + lastBranchItem=model->createBranch(lastBranchItem); } else //FIXME-2 lastBranch->clear(); @@ -229,7 +227,7 @@ } else if ( eName == "branch" && state == StateMapCenter) { state=StateBranch; - lastBranchItem=model->createBranch(); + lastBranchItem=model->createBranch(lastBranchItem); readBranchAttr (atts); } else if ( eName == "htmlnote" && state == StateBranch) { @@ -249,7 +247,7 @@ if (!readXLinkAttr (atts)) return false; } else if ( eName == "branch" && state == StateBranch ) { - lastBranchItem=model->createBranch(); + lastBranchItem=model->createBranch(lastBranchItem); readBranchAttr (atts); } else if ( eName == "html" && state == StateHtmlNote ) { @@ -285,13 +283,13 @@ case StateMapCenter: model->selectParent(); model->emitDataHasChanged (lastBranchItem); - lastBranchItem=model->getSelectedBranchItem(); + lastBranchItem=(BranchItem*)(lastBranchItem->parent()); lastBranchItem->setLastSelectedBranch (0); // Reset last selected to first child branch break; case StateBranch: model->selectParent(); model->emitDataHasChanged (lastBranchItem); - lastBranchItem=model->getSelectedBranchItem(); + lastBranchItem=(BranchItem*)(lastBranchItem->parent()); lastBranchItem->setLastSelectedBranch (0); // Reset last selected to first child branch break; case StateHtml: @@ -341,7 +339,7 @@ htmldata+=ch_org; break; case StateHeading: - model->setHeading(ch_simplified); + lastBranchItem->setHeading(ch_simplified); break; default: return false;