From a71e6490b5415f24e38681015ae05326a004a7b7 Mon Sep 17 00:00:00 2001 From: Thierry Bastian Date: Wed, 25 Mar 2009 16:56:20 +0100 Subject: Fix layout problem in QMainWindow QDockWidget's minimum title width was not computed correctly and was thus provoking some strange layout issues. We need to ask for the widget's sizeHint for the close and float buttons. Task-number: 241577 Reviewed-by: ogoffart --- src/gui/widgets/qdockwidget.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/gui/widgets/qdockwidget.cpp b/src/gui/widgets/qdockwidget.cpp index 865b19c..a5be5f8 100644 --- a/src/gui/widgets/qdockwidget.cpp +++ b/src/gui/widgets/qdockwidget.cpp @@ -406,10 +406,14 @@ int QDockWidgetLayout::minimumTitleWidth() const QSize closeSize(0, 0); QSize floatSize(0, 0); - if (QLayoutItem *item = item_list[CloseButton]) - closeSize = item->sizeHint(); - if (QLayoutItem *item = item_list[FloatButton]) - floatSize = item->sizeHint(); + if (hasFeature(q, QDockWidget::DockWidgetClosable)) { + if (QLayoutItem *item = item_list[CloseButton]) + closeSize = item->widget()->sizeHint(); + } + if (hasFeature(q, QDockWidget::DockWidgetFloatable)) { + if (QLayoutItem *item = item_list[FloatButton]) + floatSize = item->widget()->sizeHint(); + } int titleHeight = this->titleHeight(); -- cgit v0.12