summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/qnx/qqnxvirtualkeyboard.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/qnx/qqnxvirtualkeyboard.cpp')
-rw-r--r--src/plugins/platforms/qnx/qqnxvirtualkeyboard.cpp71
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;