From 29b61c07b05ae85d3bde2041f5eba7b5da8af879 Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Mon, 10 Jun 2024 01:03:20 +0200 Subject: [PATCH] Restore the keyPressEvent overload for Preferences --- novelwriter/dialogs/preferences.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/novelwriter/dialogs/preferences.py b/novelwriter/dialogs/preferences.py index fcd463b5..d08498b2 100644 --- a/novelwriter/dialogs/preferences.py +++ b/novelwriter/dialogs/preferences.py @@ -27,7 +27,7 @@ from __future__ import annotations import logging from PyQt5.QtCore import Qt, pyqtSignal, pyqtSlot -from PyQt5.QtGui import QCloseEvent +from PyQt5.QtGui import QCloseEvent, QKeyEvent, QKeySequence from PyQt5.QtWidgets import ( QAbstractButton, QCompleter, QDialogButtonBox, QFileDialog, QHBoxLayout, QLineEdit, QPushButton, QVBoxLayout, QWidget @@ -770,6 +770,16 @@ class GuiPreferences(NDialog): self.softDelete() return + def keyPressEvent(self, event: QKeyEvent) -> None: + """Overload keyPressEvent and only accept escape. The main + purpose here is to prevent Enter/Return from closing the dialog + as it is used for the search box. + """ + if event.matches(QKeySequence.StandardKey.Cancel): + self.close() + event.ignore() + return + ## # Private Slots ##