diff options
author | Pekka Vuorela <pvuorela@iki.fi> | 2012-09-04 00:32:29 +0300 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-09-11 09:35:28 +0200 |
commit | e06999bd625c8e787d429a1296739a68e48a4e6f (patch) | |
tree | 76ab97cce1508a5922619e94078b01231165a082 | |
parent | c3523bdde753daefd421e2ce228f0da0b70051ac (diff) |
Remove deprecated inputItem and inputWindow from QInputMethod
Interfaces introduced and deprecated during Qt5 development.
Change-Id: I804a02df8c4a03ed6558f4a86375f97d09513d5c
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
-rw-r--r-- | src/gui/kernel/qinputmethod.cpp | 57 | ||||
-rw-r--r-- | src/gui/kernel/qinputmethod.h | 14 | ||||
-rw-r--r-- | src/gui/kernel/qinputmethod_p.h | 11 | ||||
-rw-r--r-- | tests/auto/gui/kernel/qinputmethod/tst_qinputmethod.cpp | 28 | ||||
-rw-r--r-- | tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp | 27 |
5 files changed, 11 insertions, 126 deletions
diff --git a/src/gui/kernel/qinputmethod.cpp b/src/gui/kernel/qinputmethod.cpp index 5cb36f21c7..da7d866885 100644 --- a/src/gui/kernel/qinputmethod.cpp +++ b/src/gui/kernel/qinputmethod.cpp @@ -53,8 +53,6 @@ QT_BEGIN_NAMESPACE QInputMethod::QInputMethod() : QObject(*new QInputMethodPrivate) { - // might be instantiated before QGuiApplication is fully done, need to connect later - QTimer::singleShot(0, this, SLOT(_q_connectFocusObject())); } /*! @@ -78,40 +76,6 @@ QInputMethod::~QInputMethod() */ /*! - \property QInputMethod::inputItem - \brief Focused item that accepts text input - \obsolete - - Input item is set and unset by the focused window. In QML Scene Graph this is done by - QQuickCanvas and the input item is either TextInput or TextEdit element. Any QObject can - behave as an input item as long as it responds to QInputMethodQueryEvent and QInputMethodEvent - events sent by the input methods. - - \sa inputItemTransform, inputWindow, QInputMethodQueryEvent, QInputMethodEvent -*/ -QObject *QInputMethod::inputItem() const -{ - Q_D(const QInputMethod); - return d->inputItem.data(); -} - -void QInputMethod::setInputItem(QObject *inputItem) -{ - Q_D(QInputMethod); - d->setInputItem(inputItem); -} - -/*! - Returns the currently focused window containing the input item. - - \obsolete -*/ -QWindow *QInputMethod::inputWindow() const -{ - return qApp->focusWindow(); -} - -/*! Returns the transformation from input item coordinates to the window coordinates. */ QTransform QInputMethod::inputItemTransform() const @@ -146,11 +110,12 @@ QRectF QInputMethod::cursorRectangle() const { Q_D(const QInputMethod); - if (!d->inputItem) + QObject *focusObject = qGuiApp->focusObject(); + if (!focusObject) return QRectF(); QInputMethodQueryEvent query(Qt::ImCursorRectangle); - QGuiApplication::sendEvent(d->inputItem.data(), &query); + QGuiApplication::sendEvent(focusObject, &query); QRectF r = query.value(Qt::ImCursorRectangle).toRectF(); if (!r.isValid()) return QRectF(); @@ -303,7 +268,6 @@ void QInputMethod::update(Qt::InputMethodQueries queries) if (queries & Qt::ImEnabled) { QObject *focus = qApp->focusObject(); bool enabled = d->objectAcceptsInputMethod(focus); - d->setInputItem(enabled ? focus : 0); QPlatformInputContextPrivate::setInputMethodAccepted(enabled); } @@ -369,21 +333,6 @@ void QInputMethod::invokeAction(Action a, int cursorPosition) ic->invokeAction(a, cursorPosition); } -// temporary handlers for updating focus item based on application focus -void QInputMethodPrivate::_q_connectFocusObject() -{ - Q_Q(QInputMethod); - QObject::connect(qApp, SIGNAL(focusObjectChanged(QObject*)), - q, SLOT(_q_checkFocusObject(QObject*))); - _q_checkFocusObject(qApp->focusObject()); -} - -void QInputMethodPrivate::_q_checkFocusObject(QObject *object) -{ - bool enabled = objectAcceptsInputMethod(object); - setInputItem(enabled ? object : 0); -} - bool QInputMethodPrivate::objectAcceptsInputMethod(QObject *object) { bool enabled = false; diff --git a/src/gui/kernel/qinputmethod.h b/src/gui/kernel/qinputmethod.h index 4b21e4ac15..dc3e43a45f 100644 --- a/src/gui/kernel/qinputmethod.h +++ b/src/gui/kernel/qinputmethod.h @@ -59,7 +59,6 @@ class Q_GUI_EXPORT QInputMethod : public QObject { Q_OBJECT Q_DECLARE_PRIVATE(QInputMethod) - Q_PROPERTY(QObject *inputItem READ inputItem WRITE setInputItem NOTIFY inputItemChanged) Q_PROPERTY(QRectF cursorRectangle READ cursorRectangle NOTIFY cursorRectangleChanged) Q_PROPERTY(QRectF keyboardRectangle READ keyboardRectangle NOTIFY keyboardRectangleChanged) Q_PROPERTY(bool visible READ isVisible NOTIFY visibleChanged) @@ -69,14 +68,6 @@ class Q_GUI_EXPORT QInputMethod : public QObject Q_ENUMS(Action) public: -#ifdef QT_DEPRECATED - QT_DEPRECATED QObject *inputItem() const; - QT_DEPRECATED void setInputItem(QObject *inputItemChanged); - - // the window containing the editor - QT_DEPRECATED QWindow *inputWindow() const; -#endif - QTransform inputItemTransform() const; void setInputItemTransform(const QTransform &transform); @@ -114,7 +105,6 @@ public Q_SLOTS: void invokeAction(Action a, int cursorPosition); Q_SIGNALS: - void inputItemChanged(); void cursorRectangleChanged(); void keyboardRectangleChanged(); void visibleChanged(); @@ -128,10 +118,6 @@ private: friend class QPlatformInputContext; QInputMethod(); ~QInputMethod(); - - Q_PRIVATE_SLOT(d_func(), void _q_connectFocusObject()) - Q_PRIVATE_SLOT(d_func(), void _q_checkFocusObject(QObject* object)) - }; QT_END_NAMESPACE diff --git a/src/gui/kernel/qinputmethod_p.h b/src/gui/kernel/qinputmethod_p.h index 69d3f2d065..2df7e70332 100644 --- a/src/gui/kernel/qinputmethod_p.h +++ b/src/gui/kernel/qinputmethod_p.h @@ -69,23 +69,12 @@ public: { return inputMethod->d_func(); } - inline void setInputItem(QObject *item) - { - Q_Q(QInputMethod); - - if (inputItem.data() == item) - return; - - inputItem = item; - emit q->inputItemChanged(); - } void _q_connectFocusObject(); void _q_checkFocusObject(QObject *object); bool objectAcceptsInputMethod(QObject *object); QTransform inputItemTransform; - QPointer<QObject> inputItem; QPlatformInputContext *testContext; }; diff --git a/tests/auto/gui/kernel/qinputmethod/tst_qinputmethod.cpp b/tests/auto/gui/kernel/qinputmethod/tst_qinputmethod.cpp index 1b468847b2..6b52f70375 100644 --- a/tests/auto/gui/kernel/qinputmethod/tst_qinputmethod.cpp +++ b/tests/auto/gui/kernel/qinputmethod/tst_qinputmethod.cpp @@ -113,7 +113,6 @@ private slots: void isVisible(); void animating(); void keyboarRectangle(); - void inputItem(); void inputItemTransform(); void cursorRectangle(); void invokeAction(); @@ -178,20 +177,6 @@ void tst_qinputmethod::keyboarRectangle() QCOMPARE(spy.count(), 1); } -void tst_qinputmethod::inputItem() -{ - QVERIFY(!qApp->inputMethod()->inputItem()); - QSignalSpy spy(qApp->inputMethod(), SIGNAL(inputItemChanged())); - - qApp->inputMethod()->setInputItem(&m_inputItem); - - QCOMPARE(qApp->inputMethod()->inputItem(), &m_inputItem); - QCOMPARE(spy.count(), 1); - - // reset - qApp->inputMethod()->setInputItem(0); -} - void tst_qinputmethod::inputItemTransform() { QCOMPARE(qApp->inputMethod()->inputItemTransform(), QTransform()); @@ -214,13 +199,18 @@ void tst_qinputmethod::cursorRectangle() { QCOMPARE(qApp->inputMethod()->cursorRectangle(), QRectF()); + DummyWindow window; + window.show(); + QVERIFY(QTest::qWaitForWindowExposed(&window)); + window.requestActivateWindow(); + QTRY_COMPARE(qApp->focusWindow(), &window); + window.setFocusObject(&m_inputItem); + QTransform transform; transform.translate(10, 10); transform.scale(2, 2); transform.shear(2, 2); qApp->inputMethod()->setInputItemTransform(transform); - qApp->inputMethod()->setInputItem(&m_inputItem); - QCOMPARE(qApp->inputMethod()->cursorRectangle(), transform.mapRect(QRectF(1, 2, 3, 4))); m_inputItem.cursorRectangle = QRectF(1.5, 2, 1, 8); @@ -228,7 +218,6 @@ void tst_qinputmethod::cursorRectangle() // reset m_inputItem.cursorRectangle = QRectF(1, 2, 3, 4); - qApp->inputMethod()->setInputItem(0); qApp->inputMethod()->setInputItemTransform(QTransform()); } @@ -278,9 +267,6 @@ void tst_qinputmethod::update() QCOMPARE(int(m_platformInputContext.m_lastQueries), int(Qt::ImQueryAll)); QCOMPARE(qApp->inputMethod()->keyboardRectangle(), QRectF(10, 20, 30, 40)); - - // reset - qApp->inputMethod()->setInputItem(0); } void tst_qinputmethod::query() diff --git a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp index ad6bde7b70..d41bd856a3 100644 --- a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp +++ b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp @@ -352,7 +352,6 @@ private slots: void initialPosForDontShowOnScreenWidgets(); void updateOnDestroyedSignal(); void toplevelLineEditFocus(); - void inputFocus_task257832(); void focusWidget_task254563(); #ifndef Q_OS_WINCE_WM @@ -8869,18 +8868,6 @@ void tst_QWidget::rectOutsideCoordinatesLimit_task144779() } #endif -void tst_QWidget::inputFocus_task257832() -{ - QScopedPointer<QLineEdit> widget(new QLineEdit); - widget->setFocus(); - widget->winId(); // make sure, widget has been created - widget->show(); - QTRY_VERIFY(widget->hasFocus()); - QCOMPARE(qApp->inputMethod()->inputItem(), widget.data()); - widget->setReadOnly(true); - QVERIFY(!qApp->inputMethod()->inputItem()); -} - void tst_QWidget::setGraphicsEffect() { // Check that we don't have any effect by default. @@ -9004,19 +8991,7 @@ void tst_QWidget::focusProxyAndInputMethods() QVERIFY(QTest::qWaitForWindowActive(toplevel.data())); QVERIFY(toplevel->hasFocus()); QVERIFY(child->hasFocus()); - - // verify that toggling input methods on the child widget - // correctly propagate to the focus proxy's input method - // and that the input method gets the focus proxy passed - // as the focus widget instead of the child widget. - // otherwise input method queries go to the wrong widget - QCOMPARE(qApp->inputMethod()->inputItem(), toplevel.data()); - - toplevel->setAttribute(Qt::WA_InputMethodEnabled, false); - QVERIFY(!qApp->inputMethod()->inputItem()); - - toplevel->setAttribute(Qt::WA_InputMethodEnabled, true); - QCOMPARE(qApp->inputMethod()->inputItem(), toplevel.data()); + QCOMPARE(qApp->focusObject(), toplevel.data()); } #ifdef QT_BUILD_INTERNAL |