diff options
author | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2021-08-18 21:05:19 +0200 |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2021-08-19 19:10:58 +0200 |
commit | e42eefe0441f5ebb7e135974cd277d040220e029 (patch) | |
tree | 56792806d3442ee07669252b6383278cb9af61e1 /src/plugins/platforms/cocoa | |
parent | e5bebd883cb65f01bde565105d0eeec29538761e (diff) |
macOS: Implement QPlatformInputContext::setFocusObject()
Instead of handling the update manually.
Pick-to: 6.2
Change-Id: Iffb28d893146f5d3f6eae8e8c43aaf7fa5281516
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/plugins/platforms/cocoa')
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoainputcontext.h | 6 | ||||
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoainputcontext.mm | 10 |
2 files changed, 3 insertions, 13 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoainputcontext.h b/src/plugins/platforms/cocoa/qcocoainputcontext.h index 07317f7705..2b97ab6a82 100644 --- a/src/plugins/platforms/cocoa/qcocoainputcontext.h +++ b/src/plugins/platforms/cocoa/qcocoainputcontext.h @@ -57,15 +57,13 @@ public: bool isValid() const override { return true; } + void setFocusObject(QObject *object) override; + void reset() override; QLocale locale() const override { return m_locale; } void updateLocale(); -private Q_SLOTS: - void connectSignals(); - void focusObjectChanged(QObject *focusObject); - private: QPointer<QWindow> m_focusWindow; QLocale m_locale; diff --git a/src/plugins/platforms/cocoa/qcocoainputcontext.mm b/src/plugins/platforms/cocoa/qcocoainputcontext.mm index c5e0e80f76..b700551b9a 100644 --- a/src/plugins/platforms/cocoa/qcocoainputcontext.mm +++ b/src/plugins/platforms/cocoa/qcocoainputcontext.mm @@ -84,8 +84,6 @@ QCocoaInputContext::QCocoaInputContext() : QPlatformInputContext() , m_focusWindow(QGuiApplication::focusWindow()) { - QMetaObject::invokeMethod(this, "connectSignals", Qt::QueuedConnection); - m_inputSourceObserver = QMacNotificationObserver(nil, NSTextInputContextKeyboardSelectionDidChangeNotification, [&]() { qCDebug(lcQpaInputMethods) << "Text input source changed"; @@ -123,13 +121,7 @@ void QCocoaInputContext::reset() } } -void QCocoaInputContext::connectSignals() -{ - connect(qApp, SIGNAL(focusObjectChanged(QObject*)), this, SLOT(focusObjectChanged(QObject*))); - focusObjectChanged(qApp->focusObject()); -} - -void QCocoaInputContext::focusObjectChanged(QObject *focusObject) +void QCocoaInputContext::setFocusObject(QObject *focusObject) { qCDebug(lcQpaInputMethods) << "Focus object changed to" << focusObject; |