aboutsummaryrefslogtreecommitdiff
path: root/src/eventfilters.cpp
diff options
context:
space:
mode:
authorSalanto <62221668+Salanto@users.noreply.github.com>2024-05-18 03:33:43 +0200
committerGitHub <noreply@github.com>2024-05-18 03:33:43 +0200
commit51338e30e046f1a62c84049b34577f0f3b5db6e3 (patch)
tree283c95f8f776ed852d03a816388695afd65c0f73 /src/eventfilters.cpp
parent469e293a1885e49f1d5994d41ac7cfc9f4666952 (diff)
parentf9c7205210fb9f768f583065971ece09e6b5eb03 (diff)
Merge pull request #957 from AttorneyOnline/kaleidoscope
The Kaleidoscope - Hell, it's about time.
Diffstat (limited to 'src/eventfilters.cpp')
-rw-r--r--src/eventfilters.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/eventfilters.cpp b/src/eventfilters.cpp
new file mode 100644
index 00000000..6f0b0f12
--- /dev/null
+++ b/src/eventfilters.cpp
@@ -0,0 +1,18 @@
+#include "eventfilters.h"
+
+bool AOLineEditFilter::eventFilter(QObject *obj, QEvent *event)
+{
+ QLineEdit *lineEdit = qobject_cast<QLineEdit *>(obj);
+ if (event->type() == QEvent::FocusOut && lineEdit != nullptr && preserve_selection)
+ { // lost focus
+ int start = lineEdit->selectionStart();
+ int len = lineEdit->selectionLength();
+
+ if (start != -1 && len != -1)
+ {
+ lineEdit->setSelection(start, len);
+ return true;
+ }
+ }
+ return false;
+}