diff --git a/src/Platform.h b/src/Platform.h index 9ca65362..7f1133e4 100644 --- a/src/Platform.h +++ b/src/Platform.h @@ -78,6 +78,7 @@ public: { bool isVisible = false; QSize sizeHint = {}; + QSize minSize = { 100, 100 }; }; /// @brief list the list of frontend types supported by this build diff --git a/src/qtquick/TestHelpers_qtquick.cpp b/src/qtquick/TestHelpers_qtquick.cpp index ce036acd..ab122032 100644 --- a/src/qtquick/TestHelpers_qtquick.cpp +++ b/src/qtquick/TestHelpers_qtquick.cpp @@ -32,6 +32,7 @@ public: : Views::View_qtquick(nullptr, Type::None, parent) , m_opts(opts) { + setMinimumSize(opts.minSize); } QSize sizeHint() const override diff --git a/src/qtwidgets/TestHelpers_qtwidgets.cpp b/src/qtwidgets/TestHelpers_qtwidgets.cpp index 35158eb1..525433d2 100644 --- a/src/qtwidgets/TestHelpers_qtwidgets.cpp +++ b/src/qtwidgets/TestHelpers_qtwidgets.cpp @@ -31,6 +31,7 @@ public: , m_opts(opts) { create(); + setMinimumSize(opts.minSize); } QSize sizeHint() const override diff --git a/tests/tst_view.cpp b/tests/tst_view.cpp index e219eb4f..c23272ad 100644 --- a/tests/tst_view.cpp +++ b/tests/tst_view.cpp @@ -161,6 +161,18 @@ TEST_CASE("View::sizeHint") CHECK_EQ(rootView->sizeHint(), sizeHint); } +TEST_CASE("View::minSize") +{ + const QSize sizeHint = {}; + const QSize minSize = { 201, 202 }; + auto rootView = Platform::instance()->tests_createView({ true, sizeHint, minSize }); + CHECK_EQ(rootView->minSize(), minSize); + + const QSize newMinSize = { 301, 302 }; + rootView->setMinimumSize(newMinSize); + CHECK_EQ(rootView->minSize(), newMinSize); +} + int main(int argc, char **argv) { int exitCode = 0;