Port away from including TitleBar_qtwidgets in tests

This commit is contained in:
Sergio Martins
2022-04-07 22:43:56 +01:00
parent b60b54327b
commit 71f0b644f2
5 changed files with 43 additions and 22 deletions

View File

@@ -196,6 +196,21 @@ bool TitleBar::supportsAutoHideButton() const
return m_supportsAutoHide && m_frame && (m_frame->isInMainWindow() || m_frame->isOverlayed());
}
bool TitleBar::isFloatButtonVisible() const
{
return dynamic_cast<Views::TitleBar *>(view())->isFloatButtonVisible();
}
bool TitleBar::isCloseButtonVisible() const
{
return dynamic_cast<Views::TitleBar *>(view())->isCloseButtonVisible();
}
bool TitleBar::isCloseButtonEnabled() const
{
return dynamic_cast<Views::TitleBar *>(view())->isCloseButtonEnabled();
}
bool TitleBar::hasIcon() const
{
return !m_icon.isNull();

View File

@@ -64,6 +64,11 @@ public:
///@brief returns whether this title bar supports the auto-hide button
bool supportsAutoHideButton() const;
/// @brief returns whether the float button is visible
bool isFloatButtonVisible() const;
bool isCloseButtonVisible() const;
bool isCloseButtonEnabled() const;
///@brief returns whether this title bar has an icon
bool hasIcon() const;

View File

@@ -39,9 +39,9 @@ public:
#ifdef DOCKS_DEVELOPER_MODE
// The following are needed for the unit-tests
bool isCloseButtonVisible() const;
bool isCloseButtonEnabled() const;
bool isFloatButtonVisible() const;
bool isCloseButtonVisible() const override;
bool isCloseButtonEnabled() const override;
bool isFloatButtonVisible() const override;
bool isFloatButtonEnabled() const;
#endif

View File

@@ -22,6 +22,9 @@ class TitleBar
{
public:
virtual void updateMaximizeButton() = 0;
virtual bool isFloatButtonVisible() const = 0;
virtual bool isCloseButtonVisible() const = 0;
virtual bool isCloseButtonEnabled() const = 0;
};
}

View File

@@ -22,8 +22,6 @@
#include "WindowBeingDragged_p.h"
#include "MDIArea.h"
#include "multisplitter/Item_p.h"
#include "qtwidgets/views/Frame_qtwidgets.h"
#include "qtwidgets/views/TitleBar_qtwidgets.h"
#include "private/MultiSplitter_p.h"
#include "controllers/DockWidget.h"
@@ -692,7 +690,7 @@ void TestDocks::tst_nonDockable()
Controllers::TitleBar *tb = dock->titleBar();
QVERIFY(tb->isVisible());
QVERIFY(static_cast<Views::TitleBar_qtwidgets *>(tb->view())->isFloatButtonVisible());
QVERIFY(tb->isFloatButtonVisible());
}
{
@@ -703,7 +701,7 @@ void TestDocks::tst_nonDockable()
Controllers::TitleBar *tb = dock->titleBar();
QVERIFY(tb->isVisible());
QVERIFY(!static_cast<Views::TitleBar_qtwidgets *>(tb->view())->isFloatButtonVisible());
QVERIFY(tb->isFloatButtonVisible());
}
}
@@ -4045,22 +4043,22 @@ void TestDocks::tst_notClosable()
QVERIFY(fw);
Controllers::TitleBar *titlebarFW = fw->titleBar();
Controllers::TitleBar *titleBarFrame = fw->frames().at(0)->titleBar();
QVERIFY(static_cast<Views::TitleBar_qtwidgets *>(titlebarFW->view())->isCloseButtonVisible());
QVERIFY(!static_cast<Views::TitleBar_qtwidgets *>(titlebarFW->view())->isCloseButtonEnabled());
QVERIFY(!static_cast<Views::TitleBar_qtwidgets *>(titleBarFrame->view())->isCloseButtonVisible());
QVERIFY(!static_cast<Views::TitleBar_qtwidgets *>(titleBarFrame->view())->isCloseButtonEnabled());
QVERIFY(titlebarFW->isCloseButtonVisible());
QVERIFY(!titlebarFW->isCloseButtonEnabled());
QVERIFY(!titleBarFrame->isCloseButtonVisible());
QVERIFY(!titleBarFrame->isCloseButtonEnabled());
dock1->setOptions(DockWidgetBase::Option_None);
QVERIFY(static_cast<Views::TitleBar_qtwidgets *>(titlebarFW->view())->isCloseButtonVisible());
QVERIFY(static_cast<Views::TitleBar_qtwidgets *>(titlebarFW->view())->isCloseButtonEnabled());
QVERIFY(!static_cast<Views::TitleBar_qtwidgets *>(titleBarFrame->view())->isCloseButtonVisible());
QVERIFY(!static_cast<Views::TitleBar_qtwidgets *>(titleBarFrame->view())->isCloseButtonEnabled());
QVERIFY(titlebarFW->isCloseButtonVisible());
QVERIFY(titlebarFW->isCloseButtonEnabled());
QVERIFY(!titleBarFrame->isCloseButtonVisible());
QVERIFY(!titleBarFrame->isCloseButtonEnabled());
dock1->setOptions(DockWidgetBase::Option_NotClosable);
QVERIFY(static_cast<Views::TitleBar_qtwidgets *>(titlebarFW->view())->isCloseButtonVisible());
QVERIFY(!static_cast<Views::TitleBar_qtwidgets *>(titlebarFW->view())->isCloseButtonEnabled());
QVERIFY(!static_cast<Views::TitleBar_qtwidgets *>(titleBarFrame->view())->isCloseButtonVisible());
QVERIFY(!static_cast<Views::TitleBar_qtwidgets *>(titleBarFrame->view())->isCloseButtonEnabled());
QVERIFY(titlebarFW->isCloseButtonVisible());
QVERIFY(!titlebarFW->isCloseButtonEnabled());
QVERIFY(!titleBarFrame->isCloseButtonVisible());
QVERIFY(!titleBarFrame->isCloseButtonEnabled());
}
{
@@ -4077,9 +4075,9 @@ void TestDocks::tst_notClosable()
Controllers::TitleBar *titlebarFW = fw->titleBar();
Controllers::TitleBar *titleBarFrame = fw->frames().at(0)->titleBar();
QVERIFY(static_cast<Views::TitleBar_qtwidgets *>(titlebarFW->view())->isCloseButtonVisible());
QVERIFY(!static_cast<Views::TitleBar_qtwidgets *>(titleBarFrame->view())->isCloseButtonVisible());
QVERIFY(!static_cast<Views::TitleBar_qtwidgets *>(titleBarFrame->view())->isCloseButtonEnabled());
QVERIFY(titlebarFW->isCloseButtonVisible());
QVERIFY(!titleBarFrame->isCloseButtonVisible());
QVERIFY(!titleBarFrame->isCloseButtonEnabled());
}
}