Add convenience DockWidgetBase::isInSideBar()

This commit is contained in:
Sergio Martins
2021-01-15 08:52:17 +00:00
parent 7ff865a36f
commit 8dd7a90b34
3 changed files with 14 additions and 6 deletions

View File

@@ -532,6 +532,11 @@ SideBarLocation DockWidgetBase::sideBarLocation() const
return DockRegistry::self()->sideBarLocationForDockWidget(this);
}
bool DockWidgetBase::isInSideBar() const
{
return sideBarLocation() != SideBarLocation::None;
}
bool DockWidgetBase::hasPreviousDockedLocation() const
{
return d->m_lastPositions.isValid();

View File

@@ -373,8 +373,13 @@ public:
///@brief Returns whether this dock widget is in a side bar, and which.
/// SideBarLocation::None is returned if it's not in a sidebar.
/// This is only relevant when using the auto-hide and side-bar feature.
/// @sa isInSideBar
SideBarLocation sideBarLocation() const;
/// @brief Returns where this dockwidget is in a sidebar
/// Similar to sideBarLocation(), but returns a bool
bool isInSideBar() const;
/// @brief Returns whether this floating dock widget knows its previous docked location
/// Result only makes sense if it's floating.
///

View File

@@ -5044,7 +5044,7 @@ void TestDocks::tst_closeRemovesFromSideBar()
QVERIFY(!dw1->isOverlayed());
QVERIFY(!dw1->isVisible());
QVERIFY(dw1->sideBarLocation() != SideBarLocation::None);
QVERIFY(dw1->isInSideBar());
SideBar *sb = m1->sideBarForDockWidget(dw1);
QVERIFY(sb);
@@ -5142,9 +5142,7 @@ void TestDocks::tst_toggleActionOnSideBar()
QVERIFY(!dw1->isVisible());
QVERIFY(!dw1->isOverlayed());
QVERIFY(dw1->sideBarLocation() != SideBarLocation::None);
QVERIFY(dw1->isInSideBar());
QAction *action = dw1->toggleAction();
action->trigger();
@@ -5153,13 +5151,13 @@ void TestDocks::tst_toggleActionOnSideBar()
QEXPECT_FAIL("", "to fix", Continue);
QVERIFY(dw1->isOverlayed());
QVERIFY(dw1->sideBarLocation() != SideBarLocation::None);
QVERIFY(dw1->isInSideBar());
action->trigger();
QVERIFY(!dw1->isOverlayed());
QEXPECT_FAIL("", "to fix", Continue);
QVERIFY(dw1->sideBarLocation() != SideBarLocation::None);
QVERIFY(dw1->isInSideBar());
}
void TestDocks::tst_embeddedMainWindow()