From d67e25f54884e0211e0a03471851b0b0e420c092 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9F=B3=E5=8D=9A=E6=96=87?= Date: Tue, 2 May 2017 10:42:43 +0800 Subject: [PATCH] fix preview window hide behavior error Change-Id: I9d8c8b9e35531a0c2aea57f6cc73313b93f7fab8 --- frame/item/components/previewcontainer.cpp | 11 +++-------- frame/item/components/previewcontainer.h | 3 --- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/frame/item/components/previewcontainer.cpp b/frame/item/components/previewcontainer.cpp index 1890fedbb..4d71f70b2 100644 --- a/frame/item/components/previewcontainer.cpp +++ b/frame/item/components/previewcontainer.cpp @@ -58,13 +58,8 @@ void PreviewContainer::leaveEvent(QEvent *e) { QWidget::leaveEvent(e); - QTimer::singleShot(1, this, &PreviewContainer::onMouseLeave); -} + const QPoint p = mapFromGlobal(QCursor::pos()) + pos(); -void PreviewContainer::onMouseLeave() -{ - if (rect().contains(mapFromGlobal(QCursor::pos()))) - return; - - emit requestCancelPreview(); + if (!rect().contains(p)) + emit requestCancelPreview(); } diff --git a/frame/item/components/previewcontainer.h b/frame/item/components/previewcontainer.h index fbe7c92ca..9b49b4115 100644 --- a/frame/item/components/previewcontainer.h +++ b/frame/item/components/previewcontainer.h @@ -28,9 +28,6 @@ public slots: protected: void leaveEvent(QEvent *e); -private slots: - void onMouseLeave(); - private: QBoxLayout *m_windowListLayout; };