From 6b35dbafe0c42f26335d94d5fae43bf13c6b3584 Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Tue, 26 May 2009 21:03:31 +0200 Subject: KeyPadNavigation: showing a 'Back' softkey while in editfocus. --- src/gui/itemviews/qabstractitemview.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/gui/itemviews/qabstractitemview.cpp b/src/gui/itemviews/qabstractitemview.cpp index 159a997..6e24c85 100644 --- a/src/gui/itemviews/qabstractitemview.cpp +++ b/src/gui/itemviews/qabstractitemview.cpp @@ -61,6 +61,9 @@ #ifndef QT_NO_ACCESSIBILITY #include #endif +#ifdef QT_KEYPAD_NAVIGATION +#include +#endif QT_BEGIN_NAMESPACE @@ -2003,16 +2006,19 @@ void QAbstractItemView::keyPressEvent(QKeyEvent *event) if (QApplication::keypadNavigationEnabled()) { if (!hasEditFocus()) { setEditFocus(true); + QKeyEventSoftKey::addSoftKey(QSoftKeyAction::Back, Qt::Key_Back, this); return; } } break; case Qt::Key_Back: - case Qt::Key_Context2: // TODO: aportale, remove KEYPAD_NAVIGATION_HACK when softkey support is there - if (QApplication::keypadNavigationEnabled() && hasEditFocus()) + if (QApplication::keypadNavigationEnabled() && hasEditFocus()) { + if (QSoftKeyStack *stack = QSoftKeyStack::softKeyStackOfWidget(this)) + stack->pop(); setEditFocus(false); - else + } else { event->ignore(); + } return; default: if (QApplication::keypadNavigationEnabled() && !hasEditFocus()) { -- cgit v0.12