Added finishDragging() function to IFloatingWidget to prevent installing event filters

This commit is contained in:
Uwe Kindler
2019-12-13 11:52:50 +01:00
parent 5e230d8874
commit 02143eac71
7 changed files with 70 additions and 76 deletions

View File

@@ -311,14 +311,27 @@ void CDockWidgetTab::mousePressEvent(QMouseEvent* ev)
//============================================================================
void CDockWidgetTab::mouseReleaseEvent(QMouseEvent* ev)
{
// End of tab moving, emit signal
if (d->isDraggingState(DraggingTab) && d->DockArea)
{
emit moved(ev->globalPos());
}
auto CurrentDragState = d->DragState;
d->DragStartMousePosition = QPoint();
d->DragState = DraggingInactive;
switch (CurrentDragState)
{
case DraggingTab:
// End of tab moving, emit signal
if (d->DockArea)
{
emit moved(ev->globalPos());
}
break;
case DraggingFloatingWidget:
d->FloatingWidget->finishDragging();
break;
default:; // do nothing
}
Super::mouseReleaseEvent(ev);
}