return false;
}
- if (m_printDialogData.GetMinPage() < 1)
- m_printDialogData.SetMinPage(1);
- if (m_printDialogData.GetMaxPage() < 1)
- m_printDialogData.SetMaxPage(9999);
+ // Get some parameters from the printout, if defined
+ int fromPage, toPage;
+ int minPage, maxPage;
+ printout->GetPageInfo(&minPage, &maxPage, &fromPage, &toPage);
+
+ m_printDialogData.SetFromPage(fromPage);
+ m_printDialogData.SetToPage(toPage);
+ m_printDialogData.SetMinPage(minPage);
+ m_printDialogData.SetMaxPage(maxPage);
+ m_printDialogData.SetAllPages((fromPage == minPage) && (toPage == maxPage));
// Create a suitable device context
wxPrinterDC *dc wxDUMMY_INITIALIZE(NULL);
printout->OnPreparePrinting();
- // Get some parameters from the printout, if defined
- int fromPage, toPage;
- int minPage, maxPage;
- printout->GetPageInfo(&minPage, &maxPage, &fromPage, &toPage);
-
if (maxPage == 0)
{
sm_lastError = wxPRINTER_ERROR;