bool GuiSearchWidget::initialiseParams(std::string const & str)
{
- if (!str.empty())
- findCO->lineEdit()->setText(toqstr(str));
+ if (!str.empty()) {
+ // selectAll & insert rather than setText in order to keep undo stack
+ findCO->lineEdit()->selectAll();
+ findCO->lineEdit()->insert(toqstr(str));
+ }
+ findCO->setFocus();
+ findCO->lineEdit()->selectAll();
return true;
}
void GuiSearchWidget::showEvent(QShowEvent * e)
{
findChanged();
- findPB->setFocus();
- findCO->lineEdit()->selectAll();
QWidget::showEvent(e);
}
// might end up in loops with search as you type)
if (!search.empty() && toqstr(search) != findCO->lineEdit()->text()) {
LYXERR(Debug::CLIPBOARD, "from findbuffer: " << search);
+ // selectAll & insert rather than setText in order to keep undo stack
findCO->lineEdit()->selectAll();
findCO->lineEdit()->insert(toqstr(search));
- findCO->lineEdit()->selectAll();
}
}