diff --git a/ChatView/ChatWidget.cpp b/ChatView/ChatWidget.cpp index dbcadc8..2ebd3f4 100644 --- a/ChatView/ChatWidget.cpp +++ b/ChatView/ChatWidget.cpp @@ -4,6 +4,7 @@ #include "ChatWidget.hpp" #include +#include #include #include #include @@ -38,6 +39,8 @@ ChatWidget::ChatWidget( setResizeMode(QQuickWidget::SizeRootObjectToView); setFocusPolicy(Qt::StrongFocus); + setAttribute(Qt::WA_NoMousePropagation, true); + if (registerOwnContext) { auto ideContext = new Core::IContext{this}; ideContext->setWidget(this); @@ -53,6 +56,14 @@ void ChatWidget::focusInEvent(QFocusEvent *event) QMetaObject::invokeMethod(rootObject(), "focusInput"); } +void ChatWidget::mousePressEvent(QMouseEvent *event) +{ + if (!hasFocus()) + setFocus(Qt::MouseFocusReason); + + QQuickWidget::mousePressEvent(event); +} + void ChatWidget::clear() { QMetaObject::invokeMethod(rootObject(), "clearChat"); diff --git a/ChatView/ChatWidget.hpp b/ChatView/ChatWidget.hpp index 0ce931d..6e04c73 100644 --- a/ChatView/ChatWidget.hpp +++ b/ChatView/ChatWidget.hpp @@ -42,6 +42,7 @@ signals: protected: void focusInEvent(QFocusEvent *event) override; + void mousePressEvent(QMouseEvent *event) override; }; } // namespace QodeAssist::Chat