summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/qnx/qqnxinputcontext_noimf.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/qnx/qqnxinputcontext_noimf.cpp')
-rw-r--r--src/plugins/platforms/qnx/qqnxinputcontext_noimf.cpp42
1 files changed, 20 insertions, 22 deletions
diff --git a/src/plugins/platforms/qnx/qqnxinputcontext_noimf.cpp b/src/plugins/platforms/qnx/qqnxinputcontext_noimf.cpp
index 33b6c0e6f3..4d229fd872 100644
--- a/src/plugins/platforms/qnx/qqnxinputcontext_noimf.cpp
+++ b/src/plugins/platforms/qnx/qqnxinputcontext_noimf.cpp
@@ -40,25 +40,24 @@
****************************************************************************/
#include "qqnxinputcontext_noimf.h"
-#include "qqnxvirtualkeyboard.h"
+#include "qqnxabstractvirtualkeyboard.h"
#include <QtCore/QDebug>
#include <QtGui/QGuiApplication>
#include <QtWidgets/QAbstractSpinBox>
-QQnxInputContext::QQnxInputContext() :
+QT_BEGIN_NAMESPACE
+
+QQnxInputContext::QQnxInputContext(QQnxAbstractVirtualKeyboard &keyboard) :
QPlatformInputContext(),
m_inputPanelVisible(false),
- m_inputPanelLocale(QLocale::c())
+ m_inputPanelLocale(QLocale::c()),
+ m_virtualKeyboard(keyboard)
{
- QQnxVirtualKeyboard &keyboard = QQnxVirtualKeyboard::instance();
connect(&keyboard, SIGNAL(visibilityChanged(bool)), this, SLOT(keyboardVisibilityChanged(bool)));
connect(&keyboard, SIGNAL(localeChanged(QLocale)), this, SLOT(keyboardLocaleChanged(QLocale)));
keyboardVisibilityChanged(keyboard.isVisible());
keyboardLocaleChanged(keyboard.locale());
-
- QInputMethod *inputMethod = qApp->inputMethod();
- connect(inputMethod, SIGNAL(inputItemChanged()), this, SLOT(inputItemChanged()));
}
QQnxInputContext::~QQnxInputContext()
@@ -86,7 +85,7 @@ bool QQnxInputContext::filterEvent( const QEvent *event )
return false;
if (event->type() == QEvent::CloseSoftwareInputPanel) {
- QQnxVirtualKeyboard::instance().hideKeyboard();
+ m_virtualKeyboard.hideKeyboard();
#if defined(QQNXINPUTCONTEXT_DEBUG)
qDebug() << "QQNX: hiding virtual keyboard";
#endif
@@ -94,7 +93,7 @@ bool QQnxInputContext::filterEvent( const QEvent *event )
}
if (event->type() == QEvent::RequestSoftwareInputPanel) {
- QQnxVirtualKeyboard::instance().showKeyboard();
+ m_virtualKeyboard.showKeyboard();
#if defined(QQNXINPUTCONTEXT_DEBUG)
qDebug() << "QQNX: requesting virtual keyboard";
#endif
@@ -120,7 +119,7 @@ void QQnxInputContext::showInputPanel()
#if defined(QQNXINPUTCONTEXT_DEBUG)
qDebug() << Q_FUNC_INFO;
#endif
- QQnxVirtualKeyboard::instance().showKeyboard();
+ m_virtualKeyboard.showKeyboard();
}
void QQnxInputContext::hideInputPanel()
@@ -128,7 +127,7 @@ void QQnxInputContext::hideInputPanel()
#if defined(QQNXINPUTCONTEXT_DEBUG)
qDebug() << Q_FUNC_INFO;
#endif
- QQnxVirtualKeyboard::instance().hideKeyboard();
+ m_virtualKeyboard.hideKeyboard();
}
bool QQnxInputContext::isInputPanelVisible() const
@@ -163,25 +162,24 @@ void QQnxInputContext::keyboardLocaleChanged(const QLocale &locale)
}
}
-void QQnxInputContext::inputItemChanged()
+void QQnxInputContext::setFocusObject(QObject *object)
{
- QInputMethod *inputMethod = qApp->inputMethod();
- QObject *inputItem = inputMethod->inputItem();
-
#if defined(QQNXINPUTCONTEXT_DEBUG)
- qDebug() << Q_FUNC_INFO << "input item=" << inputItem;
+ qDebug() << Q_FUNC_INFO << "input item=" << object;
#endif
- if (!inputItem) {
+ if (!inputMethodAccepted()) {
if (m_inputPanelVisible)
hideInputPanel();
} else {
- if (qobject_cast<QAbstractSpinBox*>(inputItem)) {
- QQnxVirtualKeyboard::instance().setKeyboardMode(QQnxVirtualKeyboard::NumPunc);
- } else {
- QQnxVirtualKeyboard::instance().setKeyboardMode(QQnxVirtualKeyboard::Default);
- }
+ if (qobject_cast<QAbstractSpinBox*>(object))
+ m_virtualKeyboard.setKeyboardMode(QQnxAbstractVirtualKeyboard::Phone);
+ else
+ m_virtualKeyboard.setKeyboardMode(QQnxAbstractVirtualKeyboard::Default);
+
if (!m_inputPanelVisible)
showInputPanel();
}
}
+
+QT_END_NAMESPACE