summaryrefslogtreecommitdiffstats
path: root/src/printsupport/dialogs/qpagesetupdialog_mac.mm
diff options
context:
space:
mode:
Diffstat (limited to 'src/printsupport/dialogs/qpagesetupdialog_mac.mm')
-rw-r--r--src/printsupport/dialogs/qpagesetupdialog_mac.mm19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/printsupport/dialogs/qpagesetupdialog_mac.mm b/src/printsupport/dialogs/qpagesetupdialog_mac.mm
index 6e4469e387..e387a58607 100644
--- a/src/printsupport/dialogs/qpagesetupdialog_mac.mm
+++ b/src/printsupport/dialogs/qpagesetupdialog_mac.mm
@@ -39,6 +39,8 @@
**
****************************************************************************/
+#ifndef QT_NO_PRINTDIALOG
+
#include <Cocoa/Cocoa.h>
#include "qpagesetupdialog.h"
@@ -47,8 +49,6 @@
#include <QtGui/qplatformnativeinterface_qpa.h>
#include <QtPrintSupport/qprintengine.h>
-#ifndef QT_NO_PRINTDIALOG
-
QT_USE_NAMESPACE
@class QT_MANGLE_NAMESPACE(QCocoaPageLayoutDelegate);
@@ -155,11 +155,15 @@ void QPageSetupDialogPrivate::closeCocoaPageLayout()
QPageSetupDialog::QPageSetupDialog(QPrinter *printer, QWidget *parent)
: QAbstractPageSetupDialog(*(new QPageSetupDialogPrivate), printer, parent)
-{ }
+{
+ setAttribute(Qt::WA_DontShowOnScreen);
+}
QPageSetupDialog::QPageSetupDialog(QWidget *parent)
: QAbstractPageSetupDialog(*(new QPageSetupDialogPrivate), 0, parent)
-{ }
+{
+ setAttribute(Qt::WA_DontShowOnScreen);
+}
void QPageSetupDialog::setVisible(bool visible)
{
@@ -172,6 +176,8 @@ void QPageSetupDialog::setVisible(bool visible)
if (!visible == !isCurrentlyVisible)
return;
+ QDialog::setVisible(visible);
+
if (visible) {
d->openCocoaPageLayout(parentWidget() ? Qt::WindowModal
: Qt::ApplicationModal);
@@ -191,10 +197,15 @@ int QPageSetupDialog::exec()
if (d->printer->outputFormat() != QPrinter::NativeFormat)
return Rejected;
+ QDialog::setVisible(true);
+
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
d->openCocoaPageLayout(Qt::ApplicationModal);
d->closeCocoaPageLayout();
[pool release];
+
+ QDialog::setVisible(false);
+
return result();
}