commit ae5b4367d1e963353dfa5509a97ff40eb49b2c81 Author: Richard Kimberly Heck <rikih...@lyx.org> Date: Thu Jul 27 18:45:10 2023 -0400
Fix bug #12235: Select text in search field on opening. Patch slightly modified from one by Daniel. --- src/frontends/qt/GuiSearch.cpp | 13 ++++++++----- 1 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/frontends/qt/GuiSearch.cpp b/src/frontends/qt/GuiSearch.cpp index 41900d1..3ca4f49 100644 --- a/src/frontends/qt/GuiSearch.cpp +++ b/src/frontends/qt/GuiSearch.cpp @@ -131,8 +131,13 @@ GuiSearchWidget::GuiSearchWidget(QWidget * parent, GuiView & view) 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; } @@ -409,8 +414,6 @@ void GuiSearchWidget::wrapActTriggered() void GuiSearchWidget::showEvent(QShowEvent * e) { findChanged(); - findPB->setFocus(); - findCO->lineEdit()->selectAll(); QWidget::showEvent(e); } @@ -432,9 +435,9 @@ void GuiSearchWidget::findBufferChanged() // 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(); } } -- lyx-cvs mailing list lyx-cvs@lists.lyx.org http://lists.lyx.org/mailman/listinfo/lyx-cvs