diff options
-rw-r--r-- | src/widgets/widgets/qabstractspinbox.cpp | 1 | ||||
-rw-r--r-- | tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp | 11 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/widgets/widgets/qabstractspinbox.cpp b/src/widgets/widgets/qabstractspinbox.cpp index 765dcb8981..288375fe28 100644 --- a/src/widgets/widgets/qabstractspinbox.cpp +++ b/src/widgets/widgets/qabstractspinbox.cpp @@ -990,6 +990,7 @@ void QAbstractSpinBox::keyPressEvent(QKeyEvent *event) selectAll(); event->ignore(); emit editingFinished(); + emit d->edit->returnPressed(); return; #ifdef QT_KEYPAD_NAVIGATION diff --git a/tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp b/tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp index 89b7bc6790..a64b34c56a 100644 --- a/tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp +++ b/tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp @@ -138,7 +138,7 @@ private slots: void integerOverflow(); void taskQTBUG_5008_textFromValueAndValidate(); - + void lineEditReturnPressed(); public slots: void valueChangedHelper(const QString &); void valueChangedHelper(int); @@ -1044,5 +1044,14 @@ void tst_QSpinBox::integerOverflow() QCOMPARE(sb.value(), INT_MIN); } +void tst_QSpinBox::lineEditReturnPressed() +{ + SpinBox spinBox; + QSignalSpy spyCurrentChanged(spinBox.lineEdit(), SIGNAL(returnPressed())); + spinBox.show(); + QTest::keyClick(&spinBox, Qt::Key_Return); + QCOMPARE(spyCurrentChanged.count(), 1); +} + QTEST_MAIN(tst_QSpinBox) #include "tst_qspinbox.moc" |