Handle ImEnabled and ImHints input method queries in QSGTextInput and QSGTextEdit
authorJoona Petrell <joona.t.petrell@nokia.com>
Wed, 7 Sep 2011 20:19:14 +0000 (23:19 +0300)
committerLars Knoll <lars.knoll@nokia.com>
Thu, 8 Sep 2011 08:34:45 +0000 (10:34 +0200)
Change-Id: I348f924f2987f1c163c89ce4eef18fe864ec665d
Reviewed-on: http://codereview.qt-project.org/4407
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
src/declarative/items/qsgtextedit.cpp
src/declarative/items/qsgtextinput.cpp

index 1f1de8e..74f3450 100644 (file)
@@ -1424,7 +1424,21 @@ Returns the value of the given \a property.
 QVariant QSGTextEdit::inputMethodQuery(Qt::InputMethodQuery property) const
 {
     Q_D(const QSGTextEdit);
-    return d->control->inputMethodQuery(property);
+
+    QVariant v;
+    switch (property) {
+    case Qt::ImEnabled:
+        v = (bool)(flags() & ItemAcceptsInputMethod);
+        break;
+    case Qt::ImHints:
+        v = (int)inputMethodHints();
+        break;
+    default:
+        v = d->control->inputMethodQuery(property);
+        break;
+    }
+    return v;
+
 }
 
 void QSGTextEdit::updateImageCache(const QRectF &)
index 9974094..9014cb1 100644 (file)
@@ -1349,6 +1349,10 @@ QVariant QSGTextInput::inputMethodQuery(Qt::InputMethodQuery property) const
 {
     Q_D(const QSGTextInput);
     switch(property) {
+    case Qt::ImEnabled:
+        return QVariant((bool)(flags() & ItemAcceptsInputMethod));
+    case Qt::ImHints:
+        return QVariant((int)inputMethodHints());
     case Qt::ImMicroFocus:
         return cursorRectangle();
     case Qt::ImFont: