]> git.lyx.org Git - features.git/commitdiff
Fix bug #12061.
authorDaniel Ramöller <d.lyx@web.de>
Mon, 23 Jan 2023 23:05:26 +0000 (18:05 -0500)
committerRichard Kimberly Heck <rikiheck@lyx.org>
Mon, 23 Jan 2023 23:05:26 +0000 (18:05 -0500)
src/frontends/qt/GuiDocument.cpp
src/frontends/qt/GuiDocument.h
src/frontends/qt/ui/PreambleUi.ui

index 76b08132b356fb501e0f5ce93e53a99779960c35..287c0e8d749bf15428f73811fd6cee9e877dbe3d 100644 (file)
@@ -481,6 +481,8 @@ PreambleModule::PreambleModule(QWidget * parent)
        preambleTE->setFont(guiApp->typewriterSystemFont());
        preambleTE->setWordWrapMode(QTextOption::NoWrap);
        setFocusProxy(preambleTE);
+       // Install event filter on find line edit to capture return/enter key
+       findLE->installEventFilter(this);
        connect(preambleTE, SIGNAL(textChanged()), this, SIGNAL(changed()));
        connect(findLE, SIGNAL(textEdited(const QString &)), this, SLOT(checkFindButton()));
        connect(findButtonPB, SIGNAL(clicked()), this, SLOT(findText()));
@@ -499,6 +501,23 @@ PreambleModule::PreambleModule(QWidget * parent)
 }
 
 
+bool PreambleModule::eventFilter(QObject * sender, QEvent * event)
+{
+       if (sender == findLE) {
+               if (event->type()==QEvent::KeyPress) {
+               QKeyEvent * key = static_cast<QKeyEvent *>(event);
+               if ( (key->key()==Qt::Key_Enter) || (key->key()==Qt::Key_Return) ) {
+                   findText();
+                               // Return true to filter out the event
+                               return true;
+               }
+           }
+       }
+       return QWidget::eventFilter(sender, event);
+}
+
+
+
 void PreambleModule::checkFindButton()
 {
        findButtonPB->setEnabled(!findLE->text().isEmpty());
index ef143ab638f4acc2c97a337c3bdeb0bf20a344d1..a5dfdfc5a37f1e4de6ca7a94ae5110f5a968e339 100644 (file)
@@ -373,6 +373,9 @@ Q_SIGNALS:
        /// signal that something's changed in the Widget.
        void changed();
 
+protected:
+       bool eventFilter(QObject * sender, QEvent * event);
+
 private:
        void closeEvent(QCloseEvent *) override;
        void on_preambleTE_textChanged() { changed(); }
index fd66051ce849ee6d90d618d694113bd98a405be8..eb27e91adbd57d79cda4135d50679d09604eed8d 100644 (file)
     <number>6</number>
    </property>
    <item row="1" column="0">
-    <widget class="QLineEdit" name="findLE"/>
+    <widget class="QLineEdit" name="findLE">
+     <property name="placeholderText">
+      <string>Find in preamble</string>
+     </property>
+    </widget>
    </item>
    <item row="1" column="1">
     <widget class="QPushButton" name="findButtonPB">