diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/widgets/widgets/qlineedit.cpp | 5 | ||||
-rw-r--r-- | src/widgets/widgets/qwidgetlinecontrol.cpp | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/widgets/widgets/qlineedit.cpp b/src/widgets/widgets/qlineedit.cpp index 43aa10bdb6..bb1bf64ba0 100644 --- a/src/widgets/widgets/qlineedit.cpp +++ b/src/widgets/widgets/qlineedit.cpp @@ -1681,6 +1681,11 @@ void QLineEdit::mouseDoubleClickEvent(QMouseEvent* e) results in a validator's validate() call to return Invalid. Another case is when trying to enter in more characters beyond the maximum length of the line edit. + + Note: This signal will still be emitted in a case where part of + the text is accepted but not all of it is. For example, if there + is a maximum length set and the clipboard text is longer than the + maximum length when it is pasted. */ /*! diff --git a/src/widgets/widgets/qwidgetlinecontrol.cpp b/src/widgets/widgets/qwidgetlinecontrol.cpp index 670735df3b..b5af8e36aa 100644 --- a/src/widgets/widgets/qwidgetlinecontrol.cpp +++ b/src/widgets/widgets/qwidgetlinecontrol.cpp @@ -872,9 +872,9 @@ void QWidgetLineControl::internalInsert(const QString &s) for (int i = 0; i < (int) s.left(remaining).length(); ++i) addCommand(Command(Insert, m_cursor++, s.at(i), -1, -1)); m_textDirty = true; - } else { - emit inputRejected(); } + if (s.length() > remaining) + emit inputRejected(); } } |