mirror of
https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System.git
synced 2025-01-27 23:00:20 +08:00
Added dockContainer() function to AutoHideSideBar.cpp
This commit is contained in:
parent
302ee59d67
commit
2cd451c53c
@ -378,11 +378,19 @@ int CAutoHideSideBar::spacing() const
|
|||||||
return d->TabsLayout->spacing();
|
return d->TabsLayout->spacing();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
void CAutoHideSideBar::setSpacing(int Spacing)
|
void CAutoHideSideBar::setSpacing(int Spacing)
|
||||||
{
|
{
|
||||||
d->TabsLayout->setSpacing(Spacing);
|
d->TabsLayout->setSpacing(Spacing);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//===========================================================================
|
||||||
|
CDockContainerWidget* CAutoHideSideBar::dockContainer() const
|
||||||
|
{
|
||||||
|
return d->ContainerWidget;
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace ads
|
} // namespace ads
|
||||||
|
|
||||||
|
@ -163,6 +163,11 @@ public:
|
|||||||
* Setter for spacing property - sets the spacing
|
* Setter for spacing property - sets the spacing
|
||||||
*/
|
*/
|
||||||
void setSpacing(int Spacing);
|
void setSpacing(int Spacing);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the dock container that hosts this sideBar()
|
||||||
|
*/
|
||||||
|
CDockContainerWidget* dockContainer() const;
|
||||||
};
|
};
|
||||||
} // namespace ads
|
} // namespace ads
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
@ -248,17 +248,31 @@ void DockWidgetPrivate::updateParentDockArea()
|
|||||||
//============================================================================
|
//============================================================================
|
||||||
void DockWidgetPrivate::closeAutoHideDockWidgetsIfNeeded()
|
void DockWidgetPrivate::closeAutoHideDockWidgetsIfNeeded()
|
||||||
{
|
{
|
||||||
if (_this->dockContainer() && _this->dockContainer()->openedDockWidgets().isEmpty() && !_this->dockManager()->isRestoringState())
|
auto DockContainer = _this->dockContainer();
|
||||||
|
if (!DockContainer)
|
||||||
{
|
{
|
||||||
for (auto autoHideWidget : _this->dockContainer()->autoHideWidgets())
|
return;
|
||||||
{
|
}
|
||||||
if (autoHideWidget->dockWidget() == _this)
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
autoHideWidget->dockWidget()->toggleView(false);
|
if (_this->dockManager()->isRestoringState())
|
||||||
}
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!DockContainer->openedDockWidgets().isEmpty())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (auto autoHideWidget : DockContainer->autoHideWidgets())
|
||||||
|
{
|
||||||
|
auto DockWidget = autoHideWidget->dockWidget();
|
||||||
|
if (DockWidget == _this)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
DockWidget->toggleView(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user