Remove config flag

This commit is contained in:
Syarif Fakhri 2022-10-18 10:33:35 +08:00
parent 1c69685257
commit 118e79e7ec
5 changed files with 18 additions and 89 deletions

View File

@ -453,34 +453,6 @@ void CAutoHideDockContainer::toggleCollapseState()
collapseView(isVisible());
}
//============================================================================
bool CAutoHideDockContainer::areaExistsInConfig(CDockWidgetSideTab::SideTabBarArea area)
{
switch (area)
{
case CDockWidgetSideTab::Left:
{
return CDockManager::testConfigFlag(CDockManager::DockContainerHasLeftSideBar);
}
case CDockWidgetSideTab::Right:
{
return CDockManager::testConfigFlag(CDockManager::DockContainerHasRightSideBar);
}
case CDockWidgetSideTab::Bottom:
{
return CDockManager::testConfigFlag(CDockManager::DockContainerHasBottomSideBar);
}
case CDockWidgetSideTab::Top:
{
return CDockManager::testConfigFlag(CDockManager::DockContainerHasTopSideBar);
}
}
return true;
}
//============================================================================
bool CAutoHideDockContainer::eventFilter(QObject* watched, QEvent* event)
{

View File

@ -152,11 +152,6 @@ public:
* Toggles the current collapse state
*/
void toggleCollapseState();
/*
* Convenience function fr determining if area exists in config
*/
static bool areaExistsInConfig(CDockWidgetSideTab::SideTabBarArea area);
};
}

View File

@ -191,8 +191,7 @@ void DockAreaTitleBarPrivate::createButtons()
_this->connect(UndockButton, SIGNAL(clicked()), SLOT(onUndockButtonClicked()));
// AutoHide Button
const auto autoHideEnabled = testConfigFlag(CDockManager::DockContainerHasRightSideBar) || testConfigFlag(CDockManager::DockContainerHasLeftSideBar) || testConfigFlag(CDockManager::DockContainerHasBottomSideBar);
AutoHideButton = new CTitleBarButton(testConfigFlag(CDockManager::DockAreaHasAutoHideButton) && autoHideEnabled);
AutoHideButton = new CTitleBarButton(testConfigFlag(CDockManager::DockAreaHasAutoHideButton));
AutoHideButton->setObjectName("dockAreaAutoHideButton");
AutoHideButton->setAutoRaise(true);
internal::setToolTip(AutoHideButton, QObject::tr("Toggle Auto Hide"));

View File

@ -1048,11 +1048,6 @@ bool DockContainerWidgetPrivate::restoreAutoHideDockArea(CDockingStateReader& s,
ADS_PRINT("Restore NodeDockArea Tabs: " << Tabs << " Current: "
<< CurrentDockWidget);
if (!CAutoHideDockContainer::areaExistsInConfig(area))
{
return false;
}
CDockAreaWidget* DockArea = nullptr;
CAutoHideDockContainer* dockContainer = nullptr;
if (!Testing)
@ -1503,12 +1498,6 @@ CAutoHideDockContainer* CDockContainerWidget::createAndInitializeAutoHideDockWid
{
DockWidget->setDockManager(d->DockManager); // Overlay Dock Container needs a valid dock manager
}
if (!CAutoHideDockContainer::areaExistsInConfig(area))
{
Q_ASSERT_X(false, "CDockContainerWidget::createAndInitializeDockWidgetOverlayContainer",
"Requested area does not exist in config");
return nullptr;
}
DockWidget->sideTabWidget()->updateOrientationAndSpacing(area);
sideTabBar(area)->insertSideTab(insertOrder == CDockWidget::First ? 0 : -1, DockWidget->sideTabWidget());
@ -2094,35 +2083,17 @@ void CDockContainerWidget::createRootSplitter()
//============================================================================
void CDockContainerWidget::createSideTabBarWidgets()
{
if (CDockManager::testConfigFlag(CDockManager::DockContainerHasLeftSideBar))
{
auto leftLayout = new QVBoxLayout();
d->SideTabBarWidgets[CDockWidgetSideTab::Left] = new CSideTabBar(this, Qt::Vertical);
leftLayout->addWidget(d->SideTabBarWidgets[CDockWidgetSideTab::Left]);
leftLayout->addStretch(1);
d->Layout->addLayout(leftLayout, 1, 0);
}
d->Layout->addWidget(d->SideTabBarWidgets[CDockWidgetSideTab::Left], 1, 0);
if (CDockManager::testConfigFlag(CDockManager::DockContainerHasRightSideBar))
{
auto rightLayout = new QVBoxLayout();
d->SideTabBarWidgets[CDockWidgetSideTab::Right] = new CSideTabBar(this, Qt::Vertical);
rightLayout->addWidget(d->SideTabBarWidgets[CDockWidgetSideTab::Right]);
rightLayout->addStretch(1);
d->Layout->addLayout(rightLayout, 1, 2);
}
d->Layout->addWidget(d->SideTabBarWidgets[CDockWidgetSideTab::Right],1,2);
if (CDockManager::testConfigFlag(CDockManager::DockContainerHasBottomSideBar))
{
d->SideTabBarWidgets[CDockWidgetSideTab::Bottom] = new CSideTabBar(this, Qt::Horizontal);
d->Layout->addWidget(d->SideTabBarWidgets[CDockWidgetSideTab::Bottom], 2, 1);
}
if (CDockManager::testConfigFlag(CDockManager::DockContainerHasTopSideBar))
{
d->SideTabBarWidgets[CDockWidgetSideTab::Top] = new CSideTabBar(this, Qt::Horizontal);
d->Layout->addWidget(d->SideTabBarWidgets[CDockWidgetSideTab::Top], 0, 1);
}
}

View File

@ -226,23 +226,15 @@ public:
enum eAutoHideFlag
{
DockContainerHasLeftSideBar = 0x01, //!< If the flag is set the dock manager will have a left side bar
DockContainerHasRightSideBar = 0x02, //!< If the flag is set the dock manager will have a right side bar
DockContainerHasBottomSideBar = 0x04, //!< If the flag is set the dock manager will have a bottom side bar
DockContainerHasTopSideBar = 0x08, //!< If the flag is set the dock manager will have a top side bar
DockAreaHasAutoHideButton = 0x10, //!< If the flag is set each dock area has a auto hide menu button
LeftSideBarPrioritizeIconOnly = 0x20, //!< If the flag is set left side bar will prioritize showing icons only over text
RightSideBarPrioritizeIconOnly = 0x40, //!< If the flag is set right side bar will prioritize showing icons only over text
BottomSideBarPrioritizeIconOnly = 0x80,//!< If the flag is set bottom side bar will prioritize showing icons only over text
TopSideBarPrioritizeIconOnly = 0x100, //!< If the flag is set top side bar will prioritize showing icons only over text
AutoHideDockAreaHasTitle = 0x200, //!< If the flag is set overlay dock area title bar will show the window title
AutoHideButtonTogglesArea = 0x400, //!< If the flag is set, the auto hide button enables auto hiding for all dock widgets in an area, if disabled, only the current dock widget will be toggled
DockAreaHasAutoHideButton = 0x01, //!< If the flag is set each dock area has a auto hide menu button
LeftSideBarPrioritizeIconOnly = 0x02, //!< If the flag is set left side bar will prioritize showing icons only over text
RightSideBarPrioritizeIconOnly = 0x04, //!< If the flag is set right side bar will prioritize showing icons only over text
BottomSideBarPrioritizeIconOnly = 0x08,//!< If the flag is set bottom side bar will prioritize showing icons only over text
TopSideBarPrioritizeIconOnly = 0x10, //!< If the flag is set top side bar will prioritize showing icons only over text
AutoHideDockAreaHasTitle = 0x20, //!< If the flag is set overlay dock area title bar will show the window title
AutoHideButtonTogglesArea = 0x40, //!< If the flag is set, the auto hide button enables auto hiding for all dock widgets in an area, if disabled, only the current dock widget will be toggled
DefaultAutoHideConfig = DockContainerHasLeftSideBar
| DockContainerHasRightSideBar
| DockContainerHasBottomSideBar
| DockContainerHasTopSideBar
| DockAreaHasAutoHideButton
DefaultAutoHideConfig = DockAreaHasAutoHideButton
| AutoHideDockAreaHasTitle, ///< the default configuration for left and right side bars
};
Q_DECLARE_FLAGS(AutoHideFlags, eAutoHideFlag)