From 82105e82e553f9f8dbcdbaac177318fd590e40ab Mon Sep 17 00:00:00 2001 From: Volker Hilsheimer Date: Thu, 11 Jan 2024 13:23:21 +0100 Subject: [PATCH] Doc: complete the snippet for a dialog with extension Add the setting of the layout's size constraint to 'fixed' back to the snippet, so that the dialog automatically resizes when the extension gets hidden. The user won't be able to resize the dialog, but allowing the user to resize the dialog and to show and hide the extension anyway leads to unpredictable results for the user. Amends 11da92ba94570e5eec01597fe09f0a9a48acc677. Pick-to: 6.6 Change-Id: Ie74ca36eaa1a8e9567e0d5826f91f8633e5cbc05 Reviewed-by: David Faure (cherry picked from commit 51a1dfe72ddd922cd6caf28d532b3311db767989) Reviewed-by: Qt Cherry-pick Bot --- src/widgets/dialogs/qdialog.cpp | 4 ++++ src/widgets/doc/snippets/dialogs/dialogs.cpp | 2 ++ 2 files changed, 6 insertions(+) diff --git a/src/widgets/dialogs/qdialog.cpp b/src/widgets/dialogs/qdialog.cpp index 16730ed2c4e..27466d03d6c 100644 --- a/src/widgets/dialogs/qdialog.cpp +++ b/src/widgets/dialogs/qdialog.cpp @@ -324,6 +324,10 @@ QVariant QDialogPrivate::styleHint(QPlatformDialogHelper::StyleHint hint) const \snippet dialogs/dialogs.cpp extension + By setting the \l{QLayout::}{sizeConstraint} property of the dialog's + layout to \l{QLayout::}{SetFixedSize}, the dialog will not be resizable + by the user, and will automatically shrink when the extension gets hidden. + \sa QDialogButtonBox, QTabWidget, QWidget, QProgressDialog, {Standard Dialogs Example} */ diff --git a/src/widgets/doc/snippets/dialogs/dialogs.cpp b/src/widgets/doc/snippets/dialogs/dialogs.cpp index 16b136df4b8..0990d7d7c46 100644 --- a/src/widgets/doc/snippets/dialogs/dialogs.cpp +++ b/src/widgets/doc/snippets/dialogs/dialogs.cpp @@ -236,6 +236,8 @@ void extension() QVBoxLayout *mainLayout; //! [extension] + mainLayout->setSizeConstraint(QLayout::SetFixedSize); + findButton = new QPushButton(tr("&Find")); moreButton = new QPushButton(tr("&More...")); moreButton->setCheckable(true);