X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b778511b0c6c643ff390523878fbdfe9a39accab..af0bb3b161bc687d4a53a83c930c807bfa300a2d:/src/generic/printps.cpp diff --git a/src/generic/printps.cpp b/src/generic/printps.cpp index cc301b7aae..e9b819b6fc 100644 --- a/src/generic/printps.cpp +++ b/src/generic/printps.cpp @@ -167,14 +167,16 @@ bool wxPostScriptPrinter::Print(wxWindow *parent, wxPrintout *printout, bool pro // Create an abort window wxBeginBusyCursor(); + int + pagesPerCopy = m_printDialogData.GetToPage()-m_printDialogData.GetFromPage()+1, + totalPages = pagesPerCopy * m_printDialogData.GetNoCopies(), + printedPages = 0; // Open the progress bar dialog wxProgressDialog *progressDialog = new wxProgressDialog ( printout->GetTitle(), _("Printing..."), - maxPage-minPage+1, - parent, - /* disable parent only */ true, - /* show abort button */ true); + totalPages, + parent ); printout->OnBeginPrinting(); @@ -204,8 +206,8 @@ bool wxPostScriptPrinter::Print(wxWindow *parent, wxPrintout *printout, bool pro else { wxString msg; - msg.Printf(_("Printing page %d..."), pn); - if(progressDialog->Update(pn-minPage, msg)) + msg.Printf(_("Printing page %d..."), printedPages+1); + if(progressDialog->Update(printedPages++, msg)) { dc->StartPage(); printout->OnPrintPage(pn); @@ -214,15 +216,15 @@ bool wxPostScriptPrinter::Print(wxWindow *parent, wxPrintout *printout, bool pro else { sm_abortIt = true; - keepGoing = false; //FIXME: do we need both? + keepGoing = false; } } } - delete progressDialog; printout->OnEndDocument(); } printout->OnEndPrinting(); + delete progressDialog; wxEndBusyCursor();