summaryrefslogtreecommitdiffstats
path: root/src/Authoring/Studio/Application/FilterVariantsDlg.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Authoring/Studio/Application/FilterVariantsDlg.cpp')
-rw-r--r--src/Authoring/Studio/Application/FilterVariantsDlg.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/Authoring/Studio/Application/FilterVariantsDlg.cpp b/src/Authoring/Studio/Application/FilterVariantsDlg.cpp
index d6a47b6d..8a451e9a 100644
--- a/src/Authoring/Studio/Application/FilterVariantsDlg.cpp
+++ b/src/Authoring/Studio/Application/FilterVariantsDlg.cpp
@@ -34,11 +34,13 @@
#include <QtCore/qtimer.h>
#include <QtQml/qqmlcontext.h>
-FilterVariantsDlg::FilterVariantsDlg(QWidget *parent, QAction *action, int actionSize)
+FilterVariantsDlg::FilterVariantsDlg(QWidget *parent, QAction *action, int actionSize,
+ QWidget *actionWidget)
: QQuickWidget(parent)
, m_model(new FilterVariantsModel(m_variantsFilter, this))
, m_action(action)
, m_actionSize(actionSize)
+ , m_actionWidget(actionWidget)
{
setWindowTitle(tr("Filter variants"));
QTimer::singleShot(0, this, &FilterVariantsDlg::initialize);
@@ -90,8 +92,11 @@ void FilterVariantsDlg::showEvent(QShowEvent *event)
void FilterVariantsDlg::focusOutEvent(QFocusEvent *e)
{
QQuickWidget::focusOutEvent(e);
- m_action->setChecked(false);
- QTimer::singleShot(0, this, &QQuickWidget::close);
+
+ if (!m_actionWidget->underMouse()) {
+ m_action->setChecked(false);
+ QTimer::singleShot(0, this, &QQuickWidget::close);
+ }
}
void FilterVariantsDlg::keyPressEvent(QKeyEvent *e)