Remove View::maximumSize() as we already have View::maxSizeHint()

Having both was due to QWidgets having both. For QtQuick and other
frontends we only want the latter.
This commit is contained in:
Sergio Martins
2022-08-07 14:49:32 +01:00
parent 62d8426ec4
commit 69c7d3fd57
24 changed files with 39 additions and 65 deletions

View File

@@ -94,7 +94,6 @@ public:
virtual Qt::FocusPolicy focusPolicy() const = 0;
virtual bool hasFocus() const = 0;
virtual QSize maxSizeHint() const = 0;
virtual QSize maximumSize() const = 0;
virtual QRect geometry() const = 0;
virtual QRect normalGeometry() const = 0;
virtual void setGeometry(QRect) = 0;

View File

@@ -817,7 +817,7 @@ QSize Group::biggestDockWidgetMaxSize() const
const bool hasMaxSize = dwMax != Layouting::Item::hardcodedMaximumSize;
if (hasMaxSize)
size = dw->view()->maximumSize().expandedTo(size);
size = dwMax.expandedTo(size);
}
// Interpret 0 max-size as not having one too.

View File

@@ -65,12 +65,12 @@ QSize DockWidget_dummy::minSize() const
return View_dummy::minSize();
}
QSize DockWidget_dummy::maximumSize() const
QSize DockWidget_dummy::maxSizeHint() const
{
if (auto guestWidget = dockWidget()->guestView()) {
// The guests max-size is the same as the widget's, there's no spacing or margins.
return guestWidget->maximumSize();
return guestWidget->maxSizeHint();
}
return View_dummy::maximumSize();
return View_dummy::maxSizeHint();
}

View File

@@ -61,7 +61,7 @@ public:
QSize minSize() const override;
/// @reimp
QSize maximumSize() const override;
QSize maxSizeHint() const override;
protected:
void init() override;

View File

@@ -108,9 +108,9 @@ QSize Group_dummy::minSize() const
return contentsSize + QSize(0, nonContentsHeight());
}
QSize Group_dummy::maximumSize() const
QSize Group_dummy::maxSizeHint() const
{
return View_dummy::maximumSize();
return View_dummy::maxSizeHint();
}
int Group_dummy::nonContentsHeight() const

View File

@@ -36,7 +36,7 @@ public:
QSize minSize() const override;
/// @reimp
QSize maximumSize() const override;
QSize maxSizeHint() const override;
QRect dragRect() const override;
int currentIndex() const;

View File

@@ -95,11 +95,6 @@ QSize View_dummy::maxSizeHint() const
return {};
}
QSize View_dummy::maximumSize() const
{
return {};
}
QRect View_dummy::geometry() const
{
return {};

View File

@@ -44,7 +44,6 @@ public:
QSize sizeHint() const override;
QSize minSize() const override;
QSize maxSizeHint() const override;
QSize maximumSize() const override;
QRect geometry() const override;
QRect normalGeometry() const override;
void setNormalGeometry(QRect geo);

View File

@@ -256,7 +256,7 @@ bool WidgetResizeHandler::mouseMoveEvent(QMouseEvent *e)
{
int deltaWidth = 0;
int newWidth = 0;
const int maxWidth = mTarget->maximumSize().width();
const int maxWidth = mTarget->maxSizeHint().width();
const int minWidth = mTarget->minSize().width();
switch (mCursorPos) {
@@ -292,7 +292,7 @@ bool WidgetResizeHandler::mouseMoveEvent(QMouseEvent *e)
}
{
const int maxHeight = mTarget->maximumSize().height();
const int maxHeight = mTarget->maxSizeHint().height();
const int minHeight = mTarget->minSize().height();
int deltaHeight = 0;
int newHeight = 0;

View File

@@ -312,7 +312,7 @@ QSize WindowBeingDraggedWayland::maxSize() const
} else if (m_group) {
return m_group->view()->maxSizeHint();
} else if (m_dockWidget) {
return m_dockWidget->view()->maximumSize();
return m_dockWidget->view()->maxSizeHint();
}
qWarning() << Q_FUNC_INFO << "Unknown maxSize, shouldn't happen";

View File

@@ -146,14 +146,14 @@ QSize DockWidget_qtquick::minSize() const
return View_qtquick::minSize();
}
QSize DockWidget_qtquick::maximumSize() const
QSize DockWidget_qtquick::maxSizeHint() const
{
if (auto guestWidget = dockWidget()->guestView()) {
// The guests max-size is the same as the widget's, there's no spacing or margins.
return guestWidget->maximumSize();
return guestWidget->maxSizeHint();
}
return View_qtquick::maximumSize();
return View_qtquick::maxSizeHint();
}
QObject *DockWidget_qtquick::actualTitleBarView() const

View File

@@ -87,7 +87,7 @@ public:
QSize minSize() const override;
/// @reimp
QSize maximumSize() const override;
QSize maxSizeHint() const override;
/// @brief Returns the title bar view
/// Qt6 requires us to include TitleBar_p.h, so instead the Q_PROPERTY uses

View File

@@ -101,7 +101,7 @@ void Group_qtquick::updateConstriants()
// QtQuick doesn't have layouts, so we need to do constraint propagation manually
setProperty("kddockwidgets_min_size", minSize());
setProperty("kddockwidgets_max_size", maximumSize());
setProperty("kddockwidgets_max_size", maxSizeHint());
View::d->layoutInvalidated.emit();
}
@@ -202,11 +202,6 @@ QSize Group_qtquick::minSize() const
return contentsSize + QSize(0, nonContentsHeight());
}
QSize Group_qtquick::maximumSize() const
{
return View_qtquick::maximumSize();
}
QObject *Group_qtquick::tabWidgetObj() const
{
return stackView();

View File

@@ -51,9 +51,6 @@ public:
/// @reimp
QSize minSize() const override;
/// @reimp
QSize maximumSize() const override;
/// @brief Returns the QQuickItem which represents this group on the screen
QQuickItem *visualItem() const override;

View File

@@ -100,7 +100,7 @@ QSize MainWindow_qtquick::minSize() const
return m_mainWindow->layout()->layoutMinimumSize();
}
QSize MainWindow_qtquick::maximumSize() const
QSize MainWindow_qtquick::maxSizeHint() const
{
return m_mainWindow->layout()->layoutMaximumSizeHint();
}

View File

@@ -56,7 +56,7 @@ public:
QSize minSize() const override;
/// @reimp
QSize maximumSize() const override;
QSize maxSizeHint() const override;
#ifdef Q_MOC_RUN
Q_INVOKABLE bool closeDockWidgets(bool force = false);

View File

@@ -228,10 +228,10 @@ bool ViewWrapper_qtquick::isMinimized() const
return false;
}
QSize ViewWrapper_qtquick::maximumSize() const
QSize ViewWrapper_qtquick::maxSizeHint() const
{
if (auto view = unwrap()) {
return view->maximumSize();
return view->maxSizeHint();
} else {
const QSize max = m_item->property("kddockwidgets_max_size").toSize();
return max.isEmpty() ? Layouting::Item::hardcodedMaximumSize

View File

@@ -35,7 +35,7 @@ public:
void activateWindow() override;
bool isMaximized() const override;
bool isMinimized() const override;
QSize maximumSize() const override;
QSize maxSizeHint() const override;
void setSize(int width, int height) override;
bool is(Type) const override;
std::shared_ptr<View> childViewAt(QPoint) const override;

View File

@@ -428,11 +428,6 @@ QSize View_qtquick::maxSizeHint() const
: max.boundedTo(Layouting::Item::hardcodedMaximumSize);
}
QSize View_qtquick::maximumSize() const
{
return maxSizeHint();
}
QRect View_qtquick::geometry() const
{
if (isRootView()) {
@@ -456,7 +451,7 @@ void View_qtquick::setNormalGeometry(QRect geo)
void View_qtquick::setMaximumSize(QSize sz)
{
if (maximumSize() != sz) {
if (maxSizeHint() != sz) {
setProperty("kddockwidgets_max_size", sz);
updateGeometry();
View::d->layoutInvalidated.emit();

View File

@@ -67,7 +67,6 @@ public:
QSize sizeHint() const override;
QSize minSize() const override;
QSize maxSizeHint() const override;
QSize maximumSize() const override;
QRect geometry() const override;
QRect normalGeometry() const override;
void setNormalGeometry(QRect geo);

View File

@@ -202,11 +202,6 @@ bool ViewWrapper_qtwidgets::isMinimized() const
return m_widget->isMinimized();
}
QSize ViewWrapper_qtwidgets::maximumSize() const
{
return m_widget->maximumSize();
}
void ViewWrapper_qtwidgets::setSize(int x, int y)
{
m_widget->resize(x, y);
@@ -387,3 +382,8 @@ SizePolicy ViewWrapper_qtwidgets::verticalSizePolicy() const
{
return SizePolicy(m_widget->sizePolicy().verticalPolicy());
}
QSize ViewWrapper_qtwidgets::maxSizeHint() const
{
return m_widget->maximumSize();
}

View File

@@ -35,7 +35,6 @@ public:
void activateWindow() override;
bool isMaximized() const override;
bool isMinimized() const override;
QSize maximumSize() const override;
void setSize(int width, int height) override;
bool is(Type) const override;
std::shared_ptr<Window> window() const override;
@@ -59,6 +58,7 @@ public:
Qt::FocusPolicy focusPolicy() const override;
void setFocusPolicy(Qt::FocusPolicy) override;
bool hasFocus() const override;
QSize maxSizeHint() const override;
SizePolicy horizontalSizePolicy() const override;
SizePolicy verticalSizePolicy() const override;
QWidget *widget() const;

View File

@@ -78,7 +78,7 @@ public:
// to have a max size honoured
const QSize min = minSize();
QSize max = maximumSize();
QSize max = Base::maximumSize();
max = boundedMaxSize(min, max); // for safety against weird values
const SizePolicy vPolicy = verticalSizePolicy();
@@ -93,11 +93,6 @@ public:
return max;
}
QSize maximumSize() const override
{
return Base::maximumSize();
}
QRect geometry() const override
{
return Base::geometry();

View File

@@ -1179,7 +1179,7 @@ void TestQtWidgets::tst_maxSizePropagates()
QCOMPARE(dock1->view()->minSize(), w->minSize());
QCOMPARE(dock1->view()->maximumSize(), w->maximumSize());
QCOMPARE(dock1->view()->maxSizeHint(), w->maxSizeHint());
w->setMinimumSize(QSize(121, 121));
w->setMaximumSize(QSize(501, 501));
@@ -1187,11 +1187,11 @@ void TestQtWidgets::tst_maxSizePropagates()
Platform::instance()->tests_waitForEvent(w, QEvent::LayoutRequest);
QCOMPARE(dock1->view()->minSize(), w->minSize());
QCOMPARE(dock1->view()->maximumSize(), w->maximumSize());
QCOMPARE(dock1->view()->maxSizeHint(), w->maxSizeHint());
// Now let's see if our Frame also has proper size-constraints
Controllers::Group *group = dock1->dptr()->group();
QCOMPARE(group->view()->maxSizeHint().expandedTo(w->maximumSize()),
QCOMPARE(group->view()->maxSizeHint().expandedTo(w->maxSizeHint()),
group->view()->maxSizeHint());
}
@@ -1213,21 +1213,21 @@ void TestQtWidgets::tst_maxSizedFloatingWindow()
auto window2 = dock2->window();
Platform::instance()->tests_waitForEvent(window1.get(), QEvent::LayoutRequest);
QVERIFY(window1->maximumSize().width() < 500);
QVERIFY(window1->maximumSize().height() < 500);
QVERIFY(window2->maximumSize().width() > 500);
QVERIFY(window2->maximumSize().height() > 500);
QVERIFY(window1->maxSizeHint().width() < 500);
QVERIFY(window1->maxSizeHint().height() < 500);
QVERIFY(window2->maxSizeHint().width() > 500);
QVERIFY(window2->maxSizeHint().height() > 500);
auto hasMax = [&window1] {
const QSize max = window1->maximumSize();
const QSize max = window1->maxSizeHint();
return max.width() < 500 && max.height() < 500;
};
// Adding side-by-side, we don't honour max size (yet)
dock1->addDockWidgetToContainingWindow(dock2, Location_OnBottom);
Platform::instance()->tests_waitForEvent(window1.get(), QEvent::LayoutRequest);
QVERIFY(window1->maximumSize().width() > 500);
QVERIFY(window1->maximumSize().height() > 500);
QVERIFY(window1->maxSizeHint().width() > 500);
QVERIFY(window1->maxSizeHint().height() > 500);
// Close dw2, we have a single dock widget again, we honour max-size
dock2->close();