From 3fdad84b40b62979844c2d37d16093a0b67222df Mon Sep 17 00:00:00 2001 From: Carlos Manuel Duclos Vergara Date: Fri, 5 Mar 2010 11:53:39 +0100 Subject: QPrintPreviewDialog number of pages is partially blocked from view in OSX The problem here is caused by the FormLayout. This patch queries the widget for its sizeHint and then forces it to resize to that size. Once that is done, we add the widget to the layout. Code is #ifdef protected so other platforms are not affected by it. Task-number: QTBUG-7760 Reviewed-by: Trond --- src/gui/dialogs/qprintpreviewdialog.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/gui/dialogs/qprintpreviewdialog.cpp b/src/gui/dialogs/qprintpreviewdialog.cpp index 6723b53..f21343e 100644 --- a/src/gui/dialogs/qprintpreviewdialog.cpp +++ b/src/gui/dialogs/qprintpreviewdialog.cpp @@ -273,7 +273,20 @@ void QPrintPreviewDialogPrivate::init(QPrinter *_printer) QWidget *pageEdit = new QWidget(toolbar); QVBoxLayout *vboxLayout = new QVBoxLayout; vboxLayout->setContentsMargins(0, 0, 0, 0); +#ifdef Q_WS_MAC + // We query the widgets about their size and then we fix the size. + // This should do the trick for the laying out part... + QSize pageNumEditSize, pageNumLabelSize; + pageNumEditSize = pageNumEdit->minimumSizeHint(); + pageNumLabelSize = pageNumLabel->minimumSizeHint(); + pageNumEdit->resize(pageNumEditSize); + pageNumLabel->resize(pageNumLabelSize); +#endif QFormLayout *formLayout = new QFormLayout; +#ifdef Q_WS_MAC + // We have to change the growth policy in Mac. + formLayout->setFieldGrowthPolicy(QFormLayout::AllNonFixedFieldsGrow); +#endif formLayout->setWidget(0, QFormLayout::LabelRole, pageNumEdit); formLayout->setWidget(0, QFormLayout::FieldRole, pageNumLabel); vboxLayout->addLayout(formLayout); -- cgit v0.12