diff --git a/frame/item/components/appdragwidget.cpp b/frame/item/components/appdragwidget.cpp index eb6c0f935..99c2de44d 100644 --- a/frame/item/components/appdragwidget.cpp +++ b/frame/item/components/appdragwidget.cpp @@ -94,6 +94,13 @@ AppDragWidget::AppDragWidget(QWidget *parent) : AppDragWidget::~AppDragWidget() { } +void AppDragWidget::mouseMoveEvent(QMouseEvent *event) +{ + QGraphicsView::mouseMoveEvent(event); + // hide widget when receiving mouseMoveEvent because this means drag-and-drop has been finished + hide(); +} + void AppDragWidget::dragEnterEvent(QDragEnterEvent *event) { event->accept(); diff --git a/frame/item/components/appdragwidget.h b/frame/item/components/appdragwidget.h index 84e7cf903..f5eb769f4 100644 --- a/frame/item/components/appdragwidget.h +++ b/frame/item/components/appdragwidget.h @@ -45,6 +45,7 @@ public: void setDockInfo(Dock::Position dockPosition, const QRect &dockGeometry); protected: + void mouseMoveEvent(QMouseEvent *event) Q_DECL_OVERRIDE; void dragEnterEvent(QDragEnterEvent *event) Q_DECL_OVERRIDE; void dragMoveEvent(QDragMoveEvent *event) Q_DECL_OVERRIDE; void dropEvent(QDropEvent *event) Q_DECL_OVERRIDE;