summaryrefslogtreecommitdiffstats
path: root/src/printsupport/dialogs/qprintdialog_mac.mm
diff options
context:
space:
mode:
Diffstat (limited to 'src/printsupport/dialogs/qprintdialog_mac.mm')
-rw-r--r--src/printsupport/dialogs/qprintdialog_mac.mm9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/printsupport/dialogs/qprintdialog_mac.mm b/src/printsupport/dialogs/qprintdialog_mac.mm
index ecd1ef60cd..8ea3c9a11d 100644
--- a/src/printsupport/dialogs/qprintdialog_mac.mm
+++ b/src/printsupport/dialogs/qprintdialog_mac.mm
@@ -243,6 +243,7 @@ QPrintDialog::QPrintDialog(QPrinter *printer, QWidget *parent)
Q_D(QPrintDialog);
if (!warnIfNotNative(d->printer))
return;
+ setAttribute(Qt::WA_DontShowOnScreen);
}
QPrintDialog::QPrintDialog(QWidget *parent)
@@ -251,6 +252,7 @@ QPrintDialog::QPrintDialog(QWidget *parent)
Q_D(QPrintDialog);
if (!warnIfNotNative(d->printer))
return;
+ setAttribute(Qt::WA_DontShowOnScreen);
}
QPrintDialog::~QPrintDialog()
@@ -263,10 +265,15 @@ int QPrintDialog::exec()
if (!warnIfNotNative(d->printer))
return QDialog::Rejected;
+ QDialog::setVisible(true);
+
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
d->openCocoaPrintPanel(Qt::ApplicationModal);
d->closeCocoaPrintPanel();
[pool release];
+
+ QDialog::setVisible(false);
+
return result();
}
@@ -286,6 +293,8 @@ void QPrintDialog::setVisible(bool visible)
if (d->printer->outputFormat() != QPrinter::NativeFormat)
return;
+ QDialog::setVisible(visible);
+
if (visible) {
d->openCocoaPrintPanel(parentWidget() ? Qt::WindowModal
: Qt::ApplicationModal);