summaryrefslogtreecommitdiffstats
path: root/src/printsupport
diff options
context:
space:
mode:
Diffstat (limited to 'src/printsupport')
-rw-r--r--src/printsupport/dialogs/qpagesetupdialog_mac.mm15
-rw-r--r--src/printsupport/dialogs/qpagesetupdialog_win.cpp4
-rw-r--r--src/printsupport/dialogs/qprintdialog_mac.mm9
-rw-r--r--src/printsupport/dialogs/qprintdialog_win.cpp9
4 files changed, 30 insertions, 7 deletions
diff --git a/src/printsupport/dialogs/qpagesetupdialog_mac.mm b/src/printsupport/dialogs/qpagesetupdialog_mac.mm
index 512c4dc2a6..e387a58607 100644
--- a/src/printsupport/dialogs/qpagesetupdialog_mac.mm
+++ b/src/printsupport/dialogs/qpagesetupdialog_mac.mm
@@ -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();
}
diff --git a/src/printsupport/dialogs/qpagesetupdialog_win.cpp b/src/printsupport/dialogs/qpagesetupdialog_win.cpp
index beaea96dd9..9d7387edba 100644
--- a/src/printsupport/dialogs/qpagesetupdialog_win.cpp
+++ b/src/printsupport/dialogs/qpagesetupdialog_win.cpp
@@ -58,11 +58,13 @@ class QPageSetupDialogPrivate : public QAbstractPageSetupDialogPrivate
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);
}
int QPageSetupDialog::exec()
@@ -124,7 +126,9 @@ int QPageSetupDialog::exec()
psd.rtMargin.right = marginRect.width() / multiplier;;
psd.rtMargin.bottom = marginRect.height() / multiplier;;
+ QDialog::setVisible(true);
bool result = PageSetupDlg(&psd);
+ QDialog::setVisible(false);
if (result) {
ep->readDevnames(psd.hDevNames);
ep->readDevmode(psd.hDevMode);
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);
diff --git a/src/printsupport/dialogs/qprintdialog_win.cpp b/src/printsupport/dialogs/qprintdialog_win.cpp
index cc36e5eb8e..5474643de9 100644
--- a/src/printsupport/dialogs/qprintdialog_win.cpp
+++ b/src/printsupport/dialogs/qprintdialog_win.cpp
@@ -193,6 +193,7 @@ QPrintDialog::QPrintDialog(QPrinter *printer, QWidget *parent)
if (!warnIfNotNative(d->printer))
return;
d->ep = static_cast<QWin32PrintEngine *>(d->printer->paintEngine())->d_func();
+ setAttribute(Qt::WA_DontShowOnScreen);
}
QPrintDialog::QPrintDialog(QWidget *parent)
@@ -202,6 +203,7 @@ QPrintDialog::QPrintDialog(QWidget *parent)
if (!warnIfNotNative(d->printer))
return;
d->ep = static_cast<QWin32PrintEngine *>(d->printer->paintEngine())->d_func();
+ setAttribute(Qt::WA_DontShowOnScreen);
}
QPrintDialog::~QPrintDialog()
@@ -230,10 +232,7 @@ int QPrintDialogPrivate::openWindowsPrintDialogModally()
if (parent == 0)
parent = q;
- QWidget modal_widget;
- modal_widget.setAttribute(Qt::WA_NoChildEventsForParent, true);
- modal_widget.setParent(parent, Qt::Window);
- QApplicationPrivate::enterModal(&modal_widget);
+ q->QDialog::setVisible(true);
HGLOBAL *tempDevNames = ep->createDevNames();
@@ -274,7 +273,7 @@ int QPrintDialogPrivate::openWindowsPrintDialogModally()
}
} while (!done);
- QApplicationPrivate::leaveModal(&modal_widget);
+ q->QDialog::setVisible(false);
// qt_win_eatMouseMove();