summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/kernel/qinputpanel.cpp19
-rw-r--r--src/gui/kernel/qinputpanel_p.h14
2 files changed, 24 insertions, 9 deletions
diff --git a/src/gui/kernel/qinputpanel.cpp b/src/gui/kernel/qinputpanel.cpp
index f2567f1bfb..19c0d4a9ce 100644
--- a/src/gui/kernel/qinputpanel.cpp
+++ b/src/gui/kernel/qinputpanel.cpp
@@ -41,8 +41,6 @@
#include <qinputpanel.h>
#include <private/qinputpanel_p.h>
-#include <qplatforminputcontext_qpa.h>
-#include <private/qguiapplication_p.h>
QInputPanel::QInputPanel()
: QObject(*new QInputPanelPrivate)
@@ -109,7 +107,8 @@ QRectF QInputPanel::cursorRectangle() const
QRectF QInputPanel::keyboardRectangle()
{
- QPlatformInputContext *ic = QGuiApplicationPrivate::platformIntegration()->inputContext();
+ Q_D(QInputPanel);
+ QPlatformInputContext *ic = d->platformInputContext();
if (ic)
return ic->keyboardRect();
return QRectF();
@@ -144,7 +143,8 @@ void QInputPanel::setVisible(bool visible)
bool QInputPanel::isAnimating() const
{
- QPlatformInputContext *ic = QGuiApplicationPrivate::platformIntegration()->inputContext();
+ Q_D(const QInputPanel);
+ QPlatformInputContext *ic = d->platformInputContext();
if (ic)
return ic->isAnimating();
return false;
@@ -158,7 +158,7 @@ void QInputPanel::update(Qt::InputMethodQueries queries)
if (!d->inputItem)
return;
- QPlatformInputContext *ic = QGuiApplicationPrivate::platformIntegration()->inputContext();
+ QPlatformInputContext *ic = d->platformInputContext();
if (ic)
ic->update(queries);
@@ -168,21 +168,24 @@ void QInputPanel::update(Qt::InputMethodQueries queries)
void QInputPanel::reset()
{
- QPlatformInputContext *ic = QGuiApplicationPrivate::platformIntegration()->inputContext();
+ Q_D(QInputPanel);
+ QPlatformInputContext *ic = d->platformInputContext();
if (ic)
ic->reset();
}
void QInputPanel::commit()
{
- QPlatformInputContext *ic = QGuiApplicationPrivate::platformIntegration()->inputContext();
+ Q_D(QInputPanel);
+ QPlatformInputContext *ic = d->platformInputContext();
if (ic)
ic->commit();
}
void QInputPanel::invokeAction(Action a, int cursorPosition)
{
- QPlatformInputContext *ic = QGuiApplicationPrivate::platformIntegration()->inputContext();
+ Q_D(QInputPanel);
+ QPlatformInputContext *ic = d->platformInputContext();
if (ic)
ic->invokeAction(a, cursorPosition);
}
diff --git a/src/gui/kernel/qinputpanel_p.h b/src/gui/kernel/qinputpanel_p.h
index f44b66832b..cf999cdd5f 100644
--- a/src/gui/kernel/qinputpanel_p.h
+++ b/src/gui/kernel/qinputpanel_p.h
@@ -46,6 +46,8 @@
#include <private/qobject_p.h>
#include <QtCore/QWeakPointer>
#include <QTransform>
+#include <qplatforminputcontext_qpa.h>
+#include <private/qguiapplication_p.h>
QT_BEGIN_HEADER
@@ -55,11 +57,21 @@ class QInputPanelPrivate : public QObjectPrivate
{
public:
inline QInputPanelPrivate()
- : visible(false)
+ : visible(false), testContext(0)
{}
+ QPlatformInputContext *platformInputContext() const
+ {
+ return testContext ? testContext : QGuiApplicationPrivate::platformIntegration()->inputContext();
+ }
+ static inline QInputPanelPrivate *get(QInputPanel *inputPanel)
+ {
+ return inputPanel->d_func();
+ }
+
QTransform inputItemTransform;
QWeakPointer<QObject> inputItem;
bool visible;
+ QPlatformInputContext *testContext;
};
QT_END_NAMESPACE