diff options
Diffstat (limited to 'src/plugins/platforms/qnx/qqnxvirtualkeyboard.cpp')
-rw-r--r-- | src/plugins/platforms/qnx/qqnxvirtualkeyboard.cpp | 71 |
1 files changed, 13 insertions, 58 deletions
diff --git a/src/plugins/platforms/qnx/qqnxvirtualkeyboard.cpp b/src/plugins/platforms/qnx/qqnxvirtualkeyboard.cpp index afdd7715db..916c6dfa62 100644 --- a/src/plugins/platforms/qnx/qqnxvirtualkeyboard.cpp +++ b/src/plugins/platforms/qnx/qqnxvirtualkeyboard.cpp @@ -68,11 +68,7 @@ QQnxVirtualKeyboard::QQnxVirtualKeyboard() : m_encoder(0), m_decoder(0), m_buffer(0), - m_height(0), m_fd(-1), - m_keyboardMode(Default), - m_visible(false), - m_locale(QLatin1String("en_US")), m_readNotifier(0) { } @@ -91,6 +87,11 @@ void QQnxVirtualKeyboard::start() return; } +void QQnxVirtualKeyboard::applyKeyboardMode(KeyboardMode mode) +{ + applyKeyboardModeOptions(mode); +} + void QQnxVirtualKeyboard::close() { delete m_readNotifier; @@ -168,12 +169,6 @@ bool QQnxVirtualKeyboard::queryPPSInfo() return true; } -void QQnxVirtualKeyboard::notifyClientActiveStateChange(bool active) -{ - if (!active) - hideKeyboard(); -} - void QQnxVirtualKeyboard::ppsDataReady() { ssize_t nread = qt_safe_read(m_fd, m_buffer, ms_bufferSize - 1); @@ -208,17 +203,9 @@ void QQnxVirtualKeyboard::ppsDataReady() if (pps_decoder_get_string(m_decoder, "msg", &value) == PPS_DECODER_OK) { if (strcmp(value, "show") == 0) { - const bool oldVisible = m_visible; - m_visible = true; - handleKeyboardStateChangeMessage(true); - if (oldVisible != m_visible) - emit visibilityChanged(m_visible); + setVisible(true); } else if (strcmp(value, "hide") == 0) { - const bool oldVisible = m_visible; - m_visible = false; - handleKeyboardStateChangeMessage(false); - if (oldVisible != m_visible) - emit visibilityChanged(m_visible); + setVisible(false); } else if (strcmp(value, "info") == 0) handleKeyboardInfoMessage(); else if (strcmp(value, "connect") == 0) { } @@ -264,38 +251,16 @@ void QQnxVirtualKeyboard::handleKeyboardInfoMessage() // HUGE hack, should be removed ASAP. newHeight -= KEYBOARD_SHADOW_HEIGHT; // We want to ignore the 8 pixel shadow above the keyboard. (PR 88400) - if (newHeight != m_height) { - m_height = newHeight; - if (m_visible) - emit heightChanged(m_height); - } + setHeight(newHeight); const QLocale locale = QLocale(languageId + QLatin1Char('_') + countryId); - if (locale != m_locale) { - m_locale = locale; - emit localeChanged(locale); - } + setLocale(locale); #ifdef QQNXVIRTUALKEYBOARD_DEBUG qDebug() << "QQNX: handleKeyboardInfoMessage size=" << m_height << "locale=" << m_locale; #endif } -void QQnxVirtualKeyboard::handleKeyboardStateChangeMessage(bool visible) -{ - -#ifdef QQNXVIRTUALKEYBOARD_DEBUG - qDebug() << "QQNX: handleKeyboardStateChangeMessage " << visible; -#endif - if (visible != m_visible) - emit heightChanged(height()); - - if (visible) - showKeyboard(); - else - hideKeyboard(); -} - bool QQnxVirtualKeyboard::showKeyboard() { #ifdef QQNXVIRTUALKEYBOARD_DEBUG @@ -308,9 +273,9 @@ bool QQnxVirtualKeyboard::showKeyboard() // NOTE: This must be done everytime the keyboard is shown even if there is no change because // hiding the keyboard wipes the setting. - applyKeyboardModeOptions(); + applyKeyboardModeOptions(keyboardMode()); - if (m_visible) + if (isVisible()) return true; pps_encoder_reset(m_encoder); @@ -362,17 +327,7 @@ bool QQnxVirtualKeyboard::hideKeyboard() return true; } -void QQnxVirtualKeyboard::setKeyboardMode(KeyboardMode mode) -{ - if (m_keyboardMode == mode) - return; - - m_keyboardMode = mode; - if (m_visible) - applyKeyboardModeOptions(); -} - -void QQnxVirtualKeyboard::applyKeyboardModeOptions() +void QQnxVirtualKeyboard::applyKeyboardModeOptions(KeyboardMode mode) { // Try to connect. if (m_fd == -1 && !connect()) @@ -382,7 +337,7 @@ void QQnxVirtualKeyboard::applyKeyboardModeOptions() pps_encoder_add_string(m_encoder, "msg", "options"); pps_encoder_start_object(m_encoder, "dat"); - switch (m_keyboardMode) { + switch (mode) { case Url: addUrlModeOptions(); break; |