blob: 2e11b5876a7452522f6e498d055ba7f779358425 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#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();
#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 0)
int len = lineEdit->selectionLength();
#else
int len = lineEdit->selectedText().length();
#endif
if (start != -1 && len != -1)
{
lineEdit->setSelection(start, len);
return true;
}
}
return false;
}
|