summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/qnx/qqnxvirtualkeyboardbps.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/qqnxvirtualkeyboardbps.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/qqnxvirtualkeyboardbps.cpp')
-rw-r--r--src/plugins/platforms/qnx/qqnxvirtualkeyboardbps.cpp84
1 files changed, 52 insertions, 32 deletions
diff --git a/src/plugins/platforms/qnx/qqnxvirtualkeyboardbps.cpp b/src/plugins/platforms/qnx/qqnxvirtualkeyboardbps.cpp
index f3a6887613..b154638865 100644
--- a/src/plugins/platforms/qnx/qqnxvirtualkeyboardbps.cpp
+++ b/src/plugins/platforms/qnx/qqnxvirtualkeyboardbps.cpp
@@ -89,7 +89,7 @@ bool QQnxVirtualKeyboardBps::showKeyboard()
// They keyboard's mode is global between applications, we have to set it each time
if ( !isVisible() )
- applyKeyboardMode(keyboardMode());
+ applyKeyboardOptions();
virtualkeyboard_show();
return true;
@@ -102,52 +102,72 @@ bool QQnxVirtualKeyboardBps::hideKeyboard()
return true;
}
-void QQnxVirtualKeyboardBps::applyKeyboardMode(KeyboardMode mode)
+void QQnxVirtualKeyboardBps::applyKeyboardOptions()
{
- virtualkeyboard_layout_t layout = VIRTUALKEYBOARD_LAYOUT_DEFAULT;
+ virtualkeyboard_layout_t layout = keyboardLayout();
+ virtualkeyboard_enter_t enter = enterKey();
- switch (mode) {
- case Url:
- layout = VIRTUALKEYBOARD_LAYOUT_URL;
- break;
+ qVirtualKeyboardDebug() << Q_FUNC_INFO << "mode=" << keyboardMode() << "enterKey=" << enterKeyType();
- case Email:
- layout = VIRTUALKEYBOARD_LAYOUT_EMAIL;
- break;
+ virtualkeyboard_change_options(layout, enter);
+}
+virtualkeyboard_layout_t QQnxVirtualKeyboardBps::keyboardLayout() const
+{
+ switch (keyboardMode()) {
+ case Url:
+ return VIRTUALKEYBOARD_LAYOUT_URL;
+ case Email:
+ return VIRTUALKEYBOARD_LAYOUT_EMAIL;
case Web:
- layout = VIRTUALKEYBOARD_LAYOUT_WEB;
- break;
-
+ return VIRTUALKEYBOARD_LAYOUT_WEB;
case NumPunc:
- layout = VIRTUALKEYBOARD_LAYOUT_NUM_PUNC;
- break;
-
+ return VIRTUALKEYBOARD_LAYOUT_NUM_PUNC;
+ case Number:
+ return VIRTUALKEYBOARD_LAYOUT_NUMBER;
case Symbol:
- layout = VIRTUALKEYBOARD_LAYOUT_SYMBOL;
- break;
-
+ return VIRTUALKEYBOARD_LAYOUT_SYMBOL;
case Phone:
- layout = VIRTUALKEYBOARD_LAYOUT_PHONE;
- break;
-
+ return VIRTUALKEYBOARD_LAYOUT_PHONE;
case Pin:
- layout = VIRTUALKEYBOARD_LAYOUT_PIN;
- break;
-
+ return VIRTUALKEYBOARD_LAYOUT_PIN;
case Password:
- layout = VIRTUALKEYBOARD_LAYOUT_PASSWORD;
- break;
-
+ return VIRTUALKEYBOARD_LAYOUT_PASSWORD;
+ case Alphanumeric:
+ return VIRTUALKEYBOARD_LAYOUT_ALPHANUMERIC;
case Default: // fall through
default:
- layout = VIRTUALKEYBOARD_LAYOUT_DEFAULT;
- break;
+ return VIRTUALKEYBOARD_LAYOUT_DEFAULT;
}
- qVirtualKeyboardDebug() << Q_FUNC_INFO << "mode=" << mode;
+ return VIRTUALKEYBOARD_LAYOUT_DEFAULT;
+}
+
+virtualkeyboard_enter_t QQnxVirtualKeyboardBps::enterKey() const
+{
+ switch (enterKeyType()) {
+ case Connect:
+ return VIRTUALKEYBOARD_ENTER_CONNECT;
+ case Done:
+ return VIRTUALKEYBOARD_ENTER_DONE;
+ case Go:
+ return VIRTUALKEYBOARD_ENTER_GO;
+ case Join:
+ return VIRTUALKEYBOARD_ENTER_JOIN;
+ case Next:
+ return VIRTUALKEYBOARD_ENTER_NEXT;
+ case Search:
+ return VIRTUALKEYBOARD_ENTER_SEARCH;
+ case Send:
+ return VIRTUALKEYBOARD_ENTER_SEND;
+ case Submit:
+ return VIRTUALKEYBOARD_ENTER_SUBMIT;
+ case Default: // fall through
+ default:
+ return VIRTUALKEYBOARD_ENTER_DEFAULT;
+ }
- virtualkeyboard_change_options(layout, VIRTUALKEYBOARD_ENTER_DEFAULT);
+ return VIRTUALKEYBOARD_ENTER_DEFAULT;
}
bool QQnxVirtualKeyboardBps::handleLocaleEvent(bps_event_t *event)