diff --git a/src/private/DropArea.cpp b/src/private/DropArea.cpp index 219c0bfd..e258e7f1 100644 --- a/src/private/DropArea.cpp +++ b/src/private/DropArea.cpp @@ -296,7 +296,7 @@ bool DropArea::drop(WindowBeingDragged *draggedWindow, Frame *acceptingFrame, if (needToFocusNewlyDroppedWidgets) { // Let's also focus the newly dropped dock widget - if (droppedDockWidgets.size() > 0) { + if (!droppedDockWidgets.isEmpty()) { // If more than 1 was dropped, we only focus the first one Frame *frame = droppedDockWidgets.first()->frame(); frame->FocusScope::focus(Qt::MouseFocusReason); diff --git a/src/private/quick/QWidgetAdapter_quick.cpp b/src/private/quick/QWidgetAdapter_quick.cpp index d2f3e76b..708096c0 100644 --- a/src/private/quick/QWidgetAdapter_quick.cpp +++ b/src/private/quick/QWidgetAdapter_quick.cpp @@ -467,12 +467,12 @@ void QWidgetAdapter::setFlag(Qt::WindowType f, bool on) Qt::FocusPolicy QWidgetAdapter::focusPolicy() const { - return Qt::NoFocus; + return m_focusPolicy; } -void QWidgetAdapter::setFocusProxy(QQuickItem *) +void QWidgetAdapter::setFocusPolicy(Qt::FocusPolicy policy) { - qWarning() << Q_FUNC_INFO << "Implement me"; + m_focusPolicy = policy; } void QWidgetAdapter::setFocus(Qt::FocusReason reason) diff --git a/src/private/quick/QWidgetAdapter_quick_p.h b/src/private/quick/QWidgetAdapter_quick_p.h index b7f98c1b..e830d773 100644 --- a/src/private/quick/QWidgetAdapter_quick_p.h +++ b/src/private/quick/QWidgetAdapter_quick_p.h @@ -146,8 +146,7 @@ public: void setSizePolicy(QSizePolicy); QSizePolicy sizePolicy() const; Qt::FocusPolicy focusPolicy() const; - void setFocusPolicy(Qt::FocusPolicy) {} - void setFocusProxy(QQuickItem*); + void setFocusPolicy(Qt::FocusPolicy); void setFocus(Qt::FocusReason); virtual QSize sizeHint() const; @@ -177,6 +176,7 @@ private: QSizePolicy m_sizePolicy = QSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);; Qt::WindowFlags m_windowFlags; int m_widgetAttributes = 0; // Qt::WidgetAttribute + Qt::FocusPolicy m_focusPolicy = Qt::NoFocus; }; } diff --git a/tests/utils.h b/tests/utils.h index bdb5dfb3..5cf1599d 100644 --- a/tests/utils.h +++ b/tests/utils.h @@ -182,6 +182,7 @@ public: explicit QLineEdit() : QWidgetAdapter() { + setFocusPolicy(Qt::StrongFocus); } }; @@ -191,6 +192,7 @@ public: explicit QTextEdit() : QWidgetAdapter() { + setFocusPolicy(Qt::StrongFocus); } };