Fixed display of drop overlay

This commit is contained in:
Uwe Kindler
2017-03-27 13:18:16 +02:00
parent 1b1c636107
commit c5ea5c80b1
5 changed files with 53 additions and 60 deletions

View File

@@ -133,6 +133,7 @@ void FloatingDockContainerPrivate::updateDropOverlays(const QPoint& GlobalPos)
}
DropContainer = TopContainer;
//std::cout << "TopContainer " << TopContainer << std::endl;
auto ContainerOverlay = DockManager->containerOverlay();
auto DockAreaOverlay = DockManager->dockAreaOverlay();
@@ -146,13 +147,15 @@ void FloatingDockContainerPrivate::updateDropOverlays(const QPoint& GlobalPos)
ContainerOverlay->setAllowedAreas(TopContainer->dockAreaCount() > 1 ?
OuterDockAreas : AllDockAreas);
ContainerOverlay->showOverlay(TopContainer);
ContainerOverlay->raise();
//ContainerOverlay->raise();
auto DockArea = TopContainer->dockAreaAt(GlobalPos);
if (DockArea && TopContainer->dockAreaCount() > 1)
if (DockArea && TopContainer->dockAreaCount() > 0)
{
DockAreaOverlay->setAllowedAreas(AllDockAreas);
DockAreaOverlay->showOverlay(DockArea);
DockAreaOverlay->setAllowedAreas((TopContainer->dockAreaCount() == 1) ?
NoDockWidgetArea : AllDockAreas);
DockWidgetArea Area = DockAreaOverlay->showOverlay(DockArea);
ContainerOverlay->enableDropPreview(InvalidDockWidgetArea == Area);
}
else
{