diff options
Diffstat (limited to 'src/printsupport/dialogs/qprintdialog_win.cpp')
-rw-r--r-- | src/printsupport/dialogs/qprintdialog_win.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/printsupport/dialogs/qprintdialog_win.cpp b/src/printsupport/dialogs/qprintdialog_win.cpp index e886abbcf3..6f96a499e5 100644 --- a/src/printsupport/dialogs/qprintdialog_win.cpp +++ b/src/printsupport/dialogs/qprintdialog_win.cpp @@ -109,10 +109,12 @@ static void qt_win_setup_PRINTDLGEX(PRINTDLGEX *pd, QWidget *parent, if(!pdlg->isOptionEnabled(QPrintDialog::PrintToFile)) pd->Flags |= PD_DISABLEPRINTTOFILE; - if (pdlg->printRange() == QPrintDialog::Selection) + if (pdlg->isOptionEnabled(QPrintDialog::PrintSelection) && pdlg->printRange() == QPrintDialog::Selection) pd->Flags |= PD_SELECTION; - else if (pdlg->printRange() == QPrintDialog::PageRange) + else if (pdlg->isOptionEnabled(QPrintDialog::PrintPageRange) && pdlg->printRange() == QPrintDialog::PageRange) pd->Flags |= PD_PAGENUMS; + else if (pdlg->isOptionEnabled(QPrintDialog::PrintCurrentPage) && pdlg->printRange() == QPrintDialog::CurrentPage) + pd->Flags |= PD_CURRENTPAGE; else pd->Flags |= PD_ALLPAGES; @@ -185,7 +187,7 @@ QPrintDialog::QPrintDialog(QPrinter *printer, QWidget *parent) Q_D(QPrintDialog); if (!warnIfNotNative(d->printer)) return; - d->ep = static_cast<QWin32PrintEngine *>(d->printer->paintEngine())->d_func(); + d->ep = static_cast<QWin32PrintEngine *>(d->printer->printEngine())->d_func(); setAttribute(Qt::WA_DontShowOnScreen); } @@ -195,7 +197,7 @@ QPrintDialog::QPrintDialog(QWidget *parent) Q_D(QPrintDialog); if (!warnIfNotNative(d->printer)) return; - d->ep = static_cast<QWin32PrintEngine *>(d->printer->paintEngine())->d_func(); + d->ep = static_cast<QWin32PrintEngine *>(d->printer->printEngine())->d_func(); setAttribute(Qt::WA_DontShowOnScreen); } |