QmlDesigner: Consider DockWidget size in floating mode

Task-number: QDS-9836
Change-Id: Ic7f95b8feb757c021a88110b7d529b1720fe83d0
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
This commit is contained in:
Ali Kianian
2023-05-05 10:48:23 +03:00
parent 4e2366550c
commit 5b8d79e7a7
2 changed files with 33 additions and 2 deletions

View File

@@ -535,7 +535,17 @@ namespace ADS
QSize DockWidget::minimumSizeHint() const
{
if (d->m_minimumSizeHintMode == DockWidget::MinimumSizeHintFromDockWidget || !d->m_widget)
if (!d->m_widget)
return QSize(60, 40);
DockContainerWidget *container = this->dockContainer();
if (!container || container->isFloating()) {
const QSize sh = d->m_widget->minimumSizeHint();
const QSize s = d->m_widget->minimumSize();
return {std::max(s.width(), sh.width()), std::max(s.height(), sh.height())};
}
if (d->m_minimumSizeHintMode == DockWidget::MinimumSizeHintFromDockWidget)
return QSize(60, 40);
else
return d->m_widget->minimumSizeHint();