diff -r a9295db4dcbf -r c79486b7cb4b vymmodel.cpp --- a/vymmodel.cpp Thu Nov 26 14:55:23 2009 +0000 +++ b/vymmodel.cpp Fri Nov 27 13:31:21 2009 +0000 @@ -120,9 +120,7 @@ selectionBlocked=false; // find routine - findCurrent=NULL; - findPrevious=NULL; - EOFind=false; + findReset(); // animations // FIXME-3 switch to new animation system animationUse=settings.readBoolEntry("/animation/use",false); // FIXME-3 add options to control _what_ is animated @@ -1139,6 +1137,7 @@ return; } + if (debug) { cout << "VymModel::undo() begin\n"; @@ -1156,7 +1155,7 @@ bool noErr; QString errMsg; - parseAtom (redoCommand,noErr,errMsg); + parseAtom (undoCommand,noErr,errMsg); undosAvail--; curStep--; @@ -1568,6 +1567,12 @@ BranchItem* VymModel::findText (QString s, bool cs) { + if (!s.isEmpty() && s!=findString) + { + findReset(); + findString=s; + } + QTextDocument::FindFlags flags=0; if (cs) flags=QTextDocument::FindCaseSensitively; @@ -1587,7 +1592,7 @@ if (findCurrent) { // Searching in Note - if (findCurrent->getNote().contains(s,cs)) + if (findCurrent->getNote().contains(findString,cs)) { select (findCurrent); /* @@ -1597,14 +1602,14 @@ emitShowSelection(); } */ - if (textEditor->findText(s,flags)) + if (textEditor->findText(findString,flags)) { searching=false; foundNote=true; } } // Searching in Heading - if (searching && findCurrent->getHeading().contains (s,cs) ) + if (searching && findCurrent->getHeading().contains (findString,cs) ) { select(findCurrent); searching=false; @@ -1625,6 +1630,7 @@ void VymModel::findReset() { // Necessary if text to find changes during a find process + findString.clear(); findCurrent=NULL; findPrevious=NULL; EOFind=false;