diff --git a/frame/util/dockpopupwindow.cpp b/frame/util/dockpopupwindow.cpp index f2483cb4c..3452d3f12 100644 --- a/frame/util/dockpopupwindow.cpp +++ b/frame/util/dockpopupwindow.cpp @@ -70,11 +70,23 @@ void DockPopupWindow::hide() DArrowRectangle::hide(); } +void DockPopupWindow::showEvent(QShowEvent *e) +{ + DArrowRectangle::showEvent(e); + + QTimer::singleShot(1, this, [&] { + raise(); + activateWindow(); + setFocus(Qt::ActiveWindowFocusReason); + }); +} + void DockPopupWindow::enterEvent(QEvent *e) { DArrowRectangle::enterEvent(e); raise(); + activateWindow(); setFocus(Qt::ActiveWindowFocusReason); } diff --git a/frame/util/dockpopupwindow.h b/frame/util/dockpopupwindow.h index 7d2b3f580..ee45236f4 100644 --- a/frame/util/dockpopupwindow.h +++ b/frame/util/dockpopupwindow.h @@ -26,6 +26,7 @@ signals: void accept() const; protected: + void showEvent(QShowEvent *e); void enterEvent(QEvent *e); void mousePressEvent(QMouseEvent *e); bool eventFilter(QObject *o, QEvent *e);