diff options
Diffstat (limited to 'src/gui/widgets/qdatetimeedit.cpp')
-rw-r--r-- | src/gui/widgets/qdatetimeedit.cpp | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/src/gui/widgets/qdatetimeedit.cpp b/src/gui/widgets/qdatetimeedit.cpp index cb76876..1533edb 100644 --- a/src/gui/widgets/qdatetimeedit.cpp +++ b/src/gui/widgets/qdatetimeedit.cpp @@ -1086,6 +1086,7 @@ void QDateTimeEdit::keyPressEvent(QKeyEvent *event) //hide cursor d->edit->d_func()->setCursorVisible(false); + d->edit->d_func()->control->setCursorBlinkPeriod(0); d->setSelected(0); } } @@ -1106,10 +1107,7 @@ void QDateTimeEdit::keyPressEvent(QKeyEvent *event) //hide cursor d->edit->d_func()->setCursorVisible(false); - if (d->edit->d_func()->cursorTimer > 0) - killTimer(d->edit->d_func()->cursorTimer); - d->edit->d_func()->cursorTimer = 0; - + d->edit->d_func()->control->setCursorBlinkPeriod(0); d->setSelected(0); oldCurrent = 0; } @@ -1122,23 +1120,25 @@ void QDateTimeEdit::keyPressEvent(QKeyEvent *event) case Qt::Key_Left: case Qt::Key_Right: if (event->key() == Qt::Key_Left || event->key() == Qt::Key_Right) { + if ( #ifdef QT_KEYPAD_NAVIGATION - if (!QApplication::keypadNavigationEnabled() || !hasEditFocus()) { - select = false; - break; - } -#else - if (!(event->modifiers() & Qt::ControlModifier)) { + QApplication::keypadNavigationEnabled() && !hasEditFocus() + || !QApplication::keypadNavigationEnabled() && +#endif + !(event->modifiers() & Qt::ControlModifier)) { select = false; break; } #ifdef Q_WS_MAC - else { + else +#ifdef QT_KEYPAD_NAVIGATION + if (!QApplication::keypadNavigationEnabled()) +#endif + { select = (event->modifiers() & Qt::ShiftModifier); break; } #endif -#endif // QT_KEYPAD_NAVIGATION } // else fall through case Qt::Key_Backtab: @@ -2382,6 +2382,7 @@ void QDateTimeEditPrivate::init(const QVariant &var) q->setCalendarPopup(true); #endif updateTimeSpec(); + q->setInputMethodHints(Qt::ImhPreferNumbers); setLayoutItemMargins(QStyle::SE_DateTimeEditLayoutItem); } |