commit bca1b63d89e27b31b089ab48c63368640084b3a6
Author: Juergen Spitzmueller <[email protected]>
Date: Mon Nov 1 14:21:34 2021 +0100
Update toolbar and properly reset focus when find widget is closed (#12396)
---
src/frontends/qt/GuiSearch.cpp | 18 +++++++++++++++---
src/frontends/qt/GuiSearch.h | 6 +++++-
2 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/src/frontends/qt/GuiSearch.cpp b/src/frontends/qt/GuiSearch.cpp
index 1ea296b..4b02518 100644
--- a/src/frontends/qt/GuiSearch.cpp
+++ b/src/frontends/qt/GuiSearch.cpp
@@ -39,6 +39,7 @@
#include <QPainter>
#include <QLineEdit>
#include <QSettings>
+#include <QHideEvent>
#include <QShowEvent>
#include "QSizePolicy"
#if QT_VERSION >= 0x050000
@@ -63,8 +64,8 @@ static void uniqueInsert(QComboBox * box, QString const &
text)
}
-GuiSearchWidget::GuiSearchWidget(QWidget * parent)
- : QWidget(parent)
+GuiSearchWidget::GuiSearchWidget(QWidget * parent, GuiView & view)
+ : QWidget(parent), view_(view)
{
setupUi(this);
@@ -149,6 +150,8 @@ void GuiSearchWidget::keyPressEvent(QKeyEvent * ev)
}
if (ev->key() == Qt::Key_Escape) {
dispatch(FuncRequest(LFUN_DIALOG_HIDE, "findreplace"));
+ view_.setFocus();
+ dispatch(FuncRequest(LFUN_BUFFER_UPDATE));
return;
}
@@ -414,6 +417,15 @@ void GuiSearchWidget::showEvent(QShowEvent * e)
}
+void GuiSearchWidget::hideEvent(QHideEvent * e)
+{
+ QWidget::hideEvent(e);
+ view_.setFocus();
+ // update toolbar status
+ dispatch(FuncRequest(LFUN_BUFFER_UPDATE));
+}
+
+
void GuiSearchWidget::findBufferChanged()
{
docstring search = theClipboard().getFindBuffer();
@@ -554,7 +566,7 @@ void GuiSearchWidget::restoreSession(QString const &
session_key)
GuiSearch::GuiSearch(GuiView & parent, Qt::DockWidgetArea area,
Qt::WindowFlags flags)
: DockView(parent, "findreplace", qt_("Search and Replace"), area,
flags),
- widget_(new GuiSearchWidget(this))
+ widget_(new GuiSearchWidget(this, parent))
{
setWidget(widget_);
widget_->setBufferView(bufferview());
diff --git a/src/frontends/qt/GuiSearch.h b/src/frontends/qt/GuiSearch.h
index 2c0cd3c..2fbc8c7 100644
--- a/src/frontends/qt/GuiSearch.h
+++ b/src/frontends/qt/GuiSearch.h
@@ -32,7 +32,7 @@ class GuiSearchWidget : public QWidget, public Ui::SearchUi
Q_OBJECT
public:
- GuiSearchWidget(QWidget * parent);
+ GuiSearchWidget(QWidget * parent, GuiView & view);
///
void saveSession(QSettings & settings, QString const & session_key)
const;
///
@@ -68,6 +68,8 @@ private:
///
void showEvent(QShowEvent * e) override;
///
+ void hideEvent(QHideEvent * e) override;
+ ///
void doFind(bool const backwards = false,
bool const instant = false);
///
@@ -85,6 +87,8 @@ private:
///
BufferView const * bv_ = nullptr;
///
+ GuiView & view_;
+ ///
bool minimized_ = false;
/// contains the search box
FancyLineEdit * findLE_;
--
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs