summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/qnx/qqnxabstractvirtualkeyboard.cpp
diff options
context:
space:
mode:
authorMike Fenton <mifenton@blackberry.com>2013-11-26 09:51:26 -0500
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-01-09 19:27:32 +0100
commit8ca19dde556d4ec5a04d15af6d9985f2203ee4d5 (patch)
tree8e647384bec28664ffc9335bcf7c4ead9aad120e /src/plugins/platforms/qnx/qqnxabstractvirtualkeyboard.cpp
parent48f1ebc0404983381ddd2cc2a3b5ecc1a12785c3 (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.cpp24
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 {