mirror of
https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System.git
synced 2025-01-27 06:49:02 +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();
|
||||
}
|
||||
|
||||
|
||||
//===========================================================================
|
||||
void CAutoHideSideBar::setSpacing(int Spacing)
|
||||
{
|
||||
d->TabsLayout->setSpacing(Spacing);
|
||||
}
|
||||
|
||||
|
||||
//===========================================================================
|
||||
CDockContainerWidget* CAutoHideSideBar::dockContainer() const
|
||||
{
|
||||
return d->ContainerWidget;
|
||||
}
|
||||
|
||||
} // namespace ads
|
||||
|
||||
|
@ -163,6 +163,11 @@ public:
|
||||
* Setter for spacing property - sets the spacing
|
||||
*/
|
||||
void setSpacing(int Spacing);
|
||||
|
||||
/**
|
||||
* Returns the dock container that hosts this sideBar()
|
||||
*/
|
||||
CDockContainerWidget* dockContainer() const;
|
||||
};
|
||||
} // namespace ads
|
||||
//-----------------------------------------------------------------------------
|
||||
|
@ -248,17 +248,31 @@ void DockWidgetPrivate::updateParentDockArea()
|
||||
//============================================================================
|
||||
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())
|
||||
{
|
||||
if (autoHideWidget->dockWidget() == _this)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
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