diff options
author | Pekka Vuorela <pekka.ta.vuorela@nokia.com> | 2012-01-05 18:03:49 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-01-11 11:18:51 +0100 |
commit | 8ae55a3484c0811cb975572dea396b978a54836b (patch) | |
tree | d8d39ef8dee56461666fad1bf70414a40e7ce5ee /src | |
parent | 30ad53a0a6b1f6d5d50fe12777dc1045dec22803 (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.cpp | 13 | ||||
-rw-r--r-- | src/gui/kernel/qplatforminputcontext_qpa.cpp | 22 | ||||
-rw-r--r-- | src/gui/kernel/qplatforminputcontext_qpa.h | 5 |
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 |