diff options
-rw-r--r-- | src/quicktemplates2/qquickabstractbutton.cpp | 8 | ||||
-rw-r--r-- | tests/auto/controls/data/tst_switch.qml | 3 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/quicktemplates2/qquickabstractbutton.cpp b/src/quicktemplates2/qquickabstractbutton.cpp index f5dec6c2..8a61e570 100644 --- a/src/quicktemplates2/qquickabstractbutton.cpp +++ b/src/quicktemplates2/qquickabstractbutton.cpp @@ -436,7 +436,11 @@ QQuickAbstractButton::QQuickAbstractButton(QQuickItem *parent) : QQuickControl(*(new QQuickAbstractButtonPrivate), parent) { setActiveFocusOnTab(true); +#ifdef Q_OS_MACOS + setFocusPolicy(Qt::TabFocus); +#else setFocusPolicy(Qt::StrongFocus); +#endif setAcceptedMouseButtons(Qt::LeftButton); #if QT_CONFIG(cursor) setCursor(Qt::ArrowCursor); @@ -447,7 +451,11 @@ QQuickAbstractButton::QQuickAbstractButton(QQuickAbstractButtonPrivate &dd, QQui : QQuickControl(dd, parent) { setActiveFocusOnTab(true); +#ifdef Q_OS_MACOS + setFocusPolicy(Qt::TabFocus); +#else setFocusPolicy(Qt::StrongFocus); +#endif setAcceptedMouseButtons(Qt::LeftButton); #if QT_CONFIG(cursor) setCursor(Qt::ArrowCursor); diff --git a/tests/auto/controls/data/tst_switch.qml b/tests/auto/controls/data/tst_switch.qml index b3fab41c..8ec8ffb4 100644 --- a/tests/auto/controls/data/tst_switch.qml +++ b/tests/auto/controls/data/tst_switch.qml @@ -606,6 +606,7 @@ TestCase { verify(!control.activeFocus) mouseClick(control.indicator) - verify(control.activeFocus) + // should not get activeFocus on mouseClick on macOS + compare(control.activeFocus, Qt.platform.os !== "osx" && Qt.platform.os !== "macos") } } |