diff options
author | Eike Ziller <eike.ziller@nokia.com> | 2011-08-05 06:43:24 (GMT) |
---|---|---|
committer | Eike Ziller <eike.ziller@nokia.com> | 2011-08-05 07:19:52 (GMT) |
commit | 2e0acaff8d152732986f628dd9e198ca4b304f64 (patch) | |
tree | 2dca97d88e2942ec751c2d505de000afdd4154e0 /src/plugins/platforms/uikit/quikitsoftwareinputhandler.h | |
parent | 920ce5ed71bc456e429b887801a8d8bea7a3db0d (diff) | |
download | Qt-2e0acaff8d152732986f628dd9e198ca4b304f64.zip Qt-2e0acaff8d152732986f628dd9e198ca4b304f64.tar.gz Qt-2e0acaff8d152732986f628dd9e198ca4b304f64.tar.bz2 |
Automatic closing of input panel on uikit when QML item looses focus.
I.e. we remember which item had focus when we got the request to open
the input panel, and close it when that looses focus, even if we don't
get an explicit close request.
Also set the "returnKey" to "Return" instead of "Done" if the focus item
is a TextEdit.
This adds a dependency of the platform plugin to declarative.
Diffstat (limited to 'src/plugins/platforms/uikit/quikitsoftwareinputhandler.h')
-rw-r--r-- | src/plugins/platforms/uikit/quikitsoftwareinputhandler.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/plugins/platforms/uikit/quikitsoftwareinputhandler.h b/src/plugins/platforms/uikit/quikitsoftwareinputhandler.h index 7e4f8e9..3f64bf5 100644 --- a/src/plugins/platforms/uikit/quikitsoftwareinputhandler.h +++ b/src/plugins/platforms/uikit/quikitsoftwareinputhandler.h @@ -45,6 +45,8 @@ #define QUIKITSOFTWAREINPUTHANDLER_H #include <QtCore/QObject> +#include <QtCore/QPointer> +#include <QtGui/QWidget> QT_BEGIN_NAMESPACE @@ -53,7 +55,17 @@ class QUIKitSoftwareInputHandler : public QObject Q_OBJECT public: + QUIKitSoftwareInputHandler() : mCurrentFocusWidget(0), mCurrentFocusObject(0) {} bool eventFilter(QObject *obj, QEvent *event); + +private slots: + void activeFocusChanged(bool focus); + +private: + bool closeSoftwareInputPanel(QWidget *widget); + + QPointer<QWidget> mCurrentFocusWidget; + QPointer<QObject> mCurrentFocusObject; }; QT_END_NAMESPACE |