summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPekka Vuorela <pekka.ta.vuorela@nokia.com>2012-01-05 18:03:49 +0200
committerQt by Nokia <qt-info@nokia.com>2012-01-11 11:18:51 +0100
commit8ae55a3484c0811cb975572dea396b978a54836b (patch)
treed8d39ef8dee56461666fad1bf70414a40e7ce5ee /src
parent30ad53a0a6b1f6d5d50fe12777dc1045dec22803 (diff)
Input direction/locale to come from platform input context
Change-Id: Ib049693211a08dcffc9dbe49add54e7feab38978 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Diffstat (limited to 'src')
-rw-r--r--src/gui/kernel/qinputpanel.cpp13
-rw-r--r--src/gui/kernel/qplatforminputcontext_qpa.cpp22
-rw-r--r--src/gui/kernel/qplatforminputcontext_qpa.h5
3 files changed, 37 insertions, 3 deletions
diff --git a/src/gui/kernel/qinputpanel.cpp b/src/gui/kernel/qinputpanel.cpp
index 804bcda4dc..d6dd55b651 100644
--- a/src/gui/kernel/qinputpanel.cpp
+++ b/src/gui/kernel/qinputpanel.cpp
@@ -41,7 +41,6 @@
#include <qinputpanel.h>
#include <private/qinputpanel_p.h>
-#include "private/qkeymapper_p.h"
QT_BEGIN_NAMESPACE
@@ -254,7 +253,11 @@ bool QInputPanel::isAnimating() const
*/
QLocale QInputPanel::locale() const
{
- return qt_keymapper_private()->keyboardInputLocale;
+ Q_D(const QInputPanel);
+ QPlatformInputContext *ic = d->platformInputContext();
+ if (ic)
+ return ic->locale();
+ return QLocale::c();
}
/*!
@@ -263,7 +266,11 @@ QLocale QInputPanel::locale() const
*/
Qt::LayoutDirection QInputPanel::inputDirection() const
{
- return qt_keymapper_private()->keyboardInputDirection;
+ Q_D(const QInputPanel);
+ QPlatformInputContext *ic = d->platformInputContext();
+ if (ic)
+ return ic->inputDirection();
+ return Qt::LeftToRight;
}
/*!
diff --git a/src/gui/kernel/qplatforminputcontext_qpa.cpp b/src/gui/kernel/qplatforminputcontext_qpa.cpp
index 02b51712bc..1e82507653 100644
--- a/src/gui/kernel/qplatforminputcontext_qpa.cpp
+++ b/src/gui/kernel/qplatforminputcontext_qpa.cpp
@@ -42,6 +42,7 @@
#include <qplatforminputcontext_qpa.h>
#include <qguiapplication.h>
#include <QRect>
+#include "private/qkeymapper_p.h"
QT_BEGIN_NAMESPACE
@@ -207,4 +208,25 @@ void QPlatformInputContext::emitInputPanelVisibleChanged()
emit qApp->inputPanel()->visibleChanged();
}
+QLocale QPlatformInputContext::locale() const
+{
+ return qt_keymapper_private()->keyboardInputLocale;
+}
+
+void QPlatformInputContext::emitLocaleChanged()
+{
+ emit qApp->inputPanel()->localeChanged();
+}
+
+Qt::LayoutDirection QPlatformInputContext::inputDirection() const
+{
+ return qt_keymapper_private()->keyboardInputDirection;
+}
+
+void QPlatformInputContext::emitInputDirectionChanged(Qt::LayoutDirection newDirection)
+{
+ emit qApp->inputPanel()->inputDirectionChanged(newDirection);
+}
+
+
QT_END_NAMESPACE
diff --git a/src/gui/kernel/qplatforminputcontext_qpa.h b/src/gui/kernel/qplatforminputcontext_qpa.h
index 289b3316bd..463238f336 100644
--- a/src/gui/kernel/qplatforminputcontext_qpa.h
+++ b/src/gui/kernel/qplatforminputcontext_qpa.h
@@ -77,6 +77,11 @@ public:
virtual void hideInputPanel();
virtual bool isInputPanelVisible() const;
void emitInputPanelVisibleChanged();
+
+ virtual QLocale locale() const;
+ void emitLocaleChanged();
+ virtual Qt::LayoutDirection inputDirection() const;
+ void emitInputDirectionChanged(Qt::LayoutDirection newDirection);
};
QT_END_NAMESPACE