diff options
author | Mike Fenton <mifenton@blackberry.com> | 2013-11-26 09:51:26 -0500 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-01-09 19:27:32 +0100 |
commit | 8ca19dde556d4ec5a04d15af6d9985f2203ee4d5 (patch) | |
tree | 8e647384bec28664ffc9335bcf7c4ead9aad120e /src/plugins/platforms/qnx/qqnxabstractvirtualkeyboard.cpp | |
parent | 48f1ebc0404983381ddd2cc2a3b5ecc1a12785c3 (diff) |
QNX: Expand on Virtual Keyboard Support
Add additional keyboard type and enter key support to
QQnxAbstractVirtualKeyboard and update the subclasses for PPS and BPS
to match.
Update the PPS handler to be more streamlined by adding a helper
function to write the encoder and convert from type to string.
Change-Id: I32dbf9d8c44694789b5e24b4f72da8455836ae32
Reviewed-by: Roger Maclean <rmaclean@qnx.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Diffstat (limited to 'src/plugins/platforms/qnx/qqnxabstractvirtualkeyboard.cpp')
-rw-r--r-- | src/plugins/platforms/qnx/qqnxabstractvirtualkeyboard.cpp | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/src/plugins/platforms/qnx/qqnxabstractvirtualkeyboard.cpp b/src/plugins/platforms/qnx/qqnxabstractvirtualkeyboard.cpp index 1d8591cfa1..800cb96bdf 100644 --- a/src/plugins/platforms/qnx/qqnxabstractvirtualkeyboard.cpp +++ b/src/plugins/platforms/qnx/qqnxabstractvirtualkeyboard.cpp @@ -49,6 +49,7 @@ QQnxAbstractVirtualKeyboard::QQnxAbstractVirtualKeyboard(QObject *parent) , m_visible(false) , m_locale(QLocale::system()) , m_keyboardMode(Default) + , m_enterKeyType(DefaultReturn) { } @@ -59,7 +60,19 @@ void QQnxAbstractVirtualKeyboard::setKeyboardMode(KeyboardMode mode) m_keyboardMode = mode; - applyKeyboardMode(mode); + if (m_visible) + applyKeyboardOptions(); +} + +void QQnxAbstractVirtualKeyboard::setEnterKeyType(EnterKeyType type) +{ + if (type == m_enterKeyType) + return; + + m_enterKeyType = type; + + if (m_visible) + applyKeyboardOptions(); } void QQnxAbstractVirtualKeyboard::setInputHints(int inputHints) @@ -69,10 +82,11 @@ void QQnxAbstractVirtualKeyboard::setInputHints(int inputHints) } else if (inputHints & Qt::ImhDialableCharactersOnly) { setKeyboardMode(QQnxAbstractVirtualKeyboard::Phone); } else if (inputHints & Qt::ImhUrlCharactersOnly) { - setKeyboardMode(QQnxAbstractVirtualKeyboard::Web); - } else if (inputHints & Qt::ImhFormattedNumbersOnly || inputHints & Qt::ImhDigitsOnly || - inputHints & Qt::ImhDate || inputHints & Qt::ImhTime) { - setKeyboardMode(QQnxAbstractVirtualKeyboard::NumPunc); + setKeyboardMode(QQnxAbstractVirtualKeyboard::Url); + } else if (inputHints & Qt::ImhFormattedNumbersOnly || inputHints & Qt::ImhDigitsOnly) { + setKeyboardMode(QQnxAbstractVirtualKeyboard::Number); + } else if (inputHints & Qt::ImhDate || inputHints & Qt::ImhTime) { + setKeyboardMode(QQnxAbstractVirtualKeyboard::NumPunc); // Use NumPunc so that : is available. } else if (inputHints & Qt::ImhHiddenText) { setKeyboardMode(QQnxAbstractVirtualKeyboard::Password); } else { |