# HG changeset patch # User insilmaril # Date 1259328681 0 # Node ID c79486b7cb4b3c5752298260b6bd977ba2176615 # Parent a9295db4dcbf1c0ddad0b73911c0aae9495beba4 Fixed regression in Undo diff -r a9295db4dcbf -r c79486b7cb4b findwidget.cpp --- a/findwidget.cpp Thu Nov 26 14:55:23 2009 +0000 +++ b/findwidget.cpp Fri Nov 27 13:31:21 2009 +0000 @@ -6,6 +6,7 @@ extern QString vymName; +extern QString iconPath; FindWidget::FindWidget(QWidget *) { @@ -14,7 +15,8 @@ // Create Buttons cancelbutton = new QPushButton; - cancelbutton->setText(tr("Cancel")); + //cancelbutton->setText(tr("Cancel")); + cancelbutton->setIcon (QIcon (iconPath+"fileclose.png")); cancelbutton->setShortcut (Qt::Key_Escape); connect ( cancelbutton, SIGNAL( clicked() ), this, SLOT( cancelPressed() ) ); @@ -25,6 +27,9 @@ findcombo = new QComboBox; findcombo->setMinimumWidth(250); findcombo->setEditable(true); + + QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); + findcombo->setSizePolicy(sizePolicy); connect ( findcombo, SIGNAL( highlighted(int) ), this, SLOT( nextPressed() ) ); connect ( findcombo, SIGNAL( textChanged(const QString &) ), @@ -45,7 +50,7 @@ mainLayout->addLayout (row2Layout); setLayout (mainLayout); - setStatus (Undefined); + status=Undefined; } void FindWidget::popup() @@ -53,6 +58,7 @@ show(); findcombo->lineEdit()->selectAll(); findcombo->setFocus(); + setStatus (Undefined); } void FindWidget::cancelPressed() @@ -67,17 +73,20 @@ void FindWidget::findTextChanged(const QString&) { - emit (somethingChanged() ); + setStatus (Undefined); } void FindWidget::setStatus (Status st) { + if (st==status) return; + + status=st; QPalette p=palette(); QColor c; switch (st) { - case Success: c=QColor (100,255,100); break; - case Failed: c=QColor (255,100,100); break; + case Success: c=QColor (120,255,120); break; + case Failed: c=QColor (255,120,120); break; default: c=QColor (255,255,255); } p.setColor(QPalette::Active, static_cast(9), c); diff -r a9295db4dcbf -r c79486b7cb4b findwidget.h --- a/findwidget.h Thu Nov 26 14:55:23 2009 +0000 +++ b/findwidget.h Fri Nov 27 13:31:21 2009 +0000 @@ -24,6 +24,9 @@ void findTextChanged(const QString&); void setStatus (Status st); +private: + Status status; + signals: void nextButton(QString); void somethingChanged(); diff -r a9295db4dcbf -r c79486b7cb4b tex/vym.changelog --- a/tex/vym.changelog Thu Nov 26 14:55:23 2009 +0000 +++ b/tex/vym.changelog Fri Nov 27 13:31:21 2009 +0000 @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Nov 26 22:32:34 CET 2009 - vym@insilmaril.de + +- Bugfix: Regression in Undo +- Bugfix: Find didn't find stuff in previous part of tree + ------------------------------------------------------------------- Tue Nov 24 22:34:42 CET 2009 - vym@insilmaril.de 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; diff -r a9295db4dcbf -r c79486b7cb4b vymmodel.h --- a/vymmodel.h Thu Nov 26 14:55:23 2009 +0000 +++ b/vymmodel.h Fri Nov 27 13:31:21 2009 +0000 @@ -266,6 +266,8 @@ BranchItem* findText(QString,bool); // Find object void findReset(); // Reset Search void emitShowFindWidget(); // Tell views to show FindWidget +private: + QString findString; signals: void showFindWidget(); diff -r a9295db4dcbf -r c79486b7cb4b vymview.cpp --- a/vymview.cpp Thu Nov 26 14:55:23 2009 +0000 +++ b/vymview.cpp Fri Nov 27 13:31:21 2009 +0000 @@ -115,7 +115,6 @@ findWidget, SIGNAL (nextButton (QString) ), this, SLOT (findNext(QString) ) ); - mapEditor->setAntiAlias (mainWindow->isAliased()); mapEditor->setSmoothPixmap(mainWindow->hasSmoothPixmapTransform()); @@ -303,3 +302,10 @@ findWidget->setStatus (FindWidget::Failed); } + +void VymView::findReset() +{ + model->findReset(); + if (mapEditor) mapEditor->setFocus(); +} + diff -r a9295db4dcbf -r c79486b7cb4b vymview.h --- a/vymview.h Thu Nov 26 14:55:23 2009 +0000 +++ b/vymview.h Fri Nov 27 13:31:21 2009 +0000 @@ -30,6 +30,7 @@ void showSelection (); void showFindWidget(); void findNext (QString s); + void findReset(); private: VymModel *model;