summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2021-08-18 21:05:19 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2021-08-19 19:10:58 +0200
commite42eefe0441f5ebb7e135974cd277d040220e029 (patch)
tree56792806d3442ee07669252b6383278cb9af61e1 /src/plugins/platforms/cocoa
parente5bebd883cb65f01bde565105d0eeec29538761e (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.h6
-rw-r--r--src/plugins/platforms/cocoa/qcocoainputcontext.mm10
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;