diff options
Diffstat (limited to 'src/aolineedit.cpp')
| -rw-r--r-- | src/aolineedit.cpp | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/src/aolineedit.cpp b/src/aolineedit.cpp index 211d9f78..d80fa014 100644 --- a/src/aolineedit.cpp +++ b/src/aolineedit.cpp @@ -1,18 +1,22 @@ #include "aolineedit.h" -AOLineEdit::AOLineEdit(QWidget *parent) : QLineEdit(parent) -{ - this->setReadOnly(true); - this->setFrame(false); - - connect(this, SIGNAL(returnPressed()), this, SLOT(on_enter_pressed())); -} +AOLineEdit::AOLineEdit(QWidget *parent) : QLineEdit(parent) {} void AOLineEdit::mouseDoubleClickEvent(QMouseEvent *e) { QLineEdit::mouseDoubleClickEvent(e); - this->setReadOnly(false); + double_clicked(); +} +void AOLineEdit::focusOutEvent(QFocusEvent *ev) +{ + int start = selectionStart(); +#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 0) + int len = selectionLength(); +#else + int len = selectedText().length(); +#endif + QLineEdit::focusOutEvent(ev); + if (p_selection && start != -1 && len != -1) + this->setSelection(start, len); } - -void AOLineEdit::on_enter_pressed() { this->setReadOnly(true); } |
