summaryrefslogtreecommitdiffstats
path: root/src/printsupport
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@nokia.com>2012-04-16 12:04:34 +0200
committerLars Knoll <lars.knoll@nokia.com>2012-04-16 12:04:34 +0200
commit9bd032355163d92cda5e7e59ecd21214b131f187 (patch)
tree002fa12558505683143c7eb08949a3d225bf0712 /src/printsupport
parentd037d25c3d5236623371cf051aaf6a9e59792ba7 (diff)
parent41673c45dde2eb95ee21dd918235218399f2be2c (diff)
Merge remote-tracking branch 'origin/master' into api_changes
Conflicts: configure src/corelib/io/qurl.cpp src/gui/kernel/qwindow.cpp src/tools/moc/generator.cpp src/widgets/kernel/qwidget_qpa.cpp src/widgets/styles/qstyle.h src/widgets/widgets/qtabbar.cpp tests/auto/corelib/codecs/utf8/tst_utf8.cpp Change-Id: Ia457228d6f684ec8184e13e8fcc9d25857b1751e
Diffstat (limited to 'src/printsupport')
-rw-r--r--src/printsupport/dialogs/qpagesetupdialog_mac.mm8
-rw-r--r--src/printsupport/dialogs/qprintdialog_mac.mm8
2 files changed, 12 insertions, 4 deletions
diff --git a/src/printsupport/dialogs/qpagesetupdialog_mac.mm b/src/printsupport/dialogs/qpagesetupdialog_mac.mm
index e387a58607..1dded4f905 100644
--- a/src/printsupport/dialogs/qpagesetupdialog_mac.mm
+++ b/src/printsupport/dialogs/qpagesetupdialog_mac.mm
@@ -179,8 +179,12 @@ void QPageSetupDialog::setVisible(bool visible)
QDialog::setVisible(visible);
if (visible) {
- d->openCocoaPageLayout(parentWidget() ? Qt::WindowModal
- : Qt::ApplicationModal);
+ Qt::WindowModality modality = windowModality();
+ if (modality == Qt::NonModal) {
+ // NSPrintPanels can only be modal, so we must pick a type
+ modality = parentWidget() ? Qt::WindowModal : Qt::ApplicationModal;
+ }
+ d->openCocoaPageLayout(modality);
return;
} else {
if (d->pageLayout) {
diff --git a/src/printsupport/dialogs/qprintdialog_mac.mm b/src/printsupport/dialogs/qprintdialog_mac.mm
index 8ea3c9a11d..e1d85eed59 100644
--- a/src/printsupport/dialogs/qprintdialog_mac.mm
+++ b/src/printsupport/dialogs/qprintdialog_mac.mm
@@ -296,8 +296,12 @@ void QPrintDialog::setVisible(bool visible)
QDialog::setVisible(visible);
if (visible) {
- d->openCocoaPrintPanel(parentWidget() ? Qt::WindowModal
- : Qt::ApplicationModal);
+ Qt::WindowModality modality = windowModality();
+ if (modality == Qt::NonModal) {
+ // NSPrintPanels can only be modal, so we must pick a type
+ modality = parentWidget() ? Qt::WindowModal : Qt::ApplicationModal;
+ }
+ d->openCocoaPrintPanel(modality);
return;
} else {
if (d->printPanel) {