]> git.saurik.com Git - wxWidgets.git/commitdiff
Print everything by default in non-interactive mode.
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 14 Mar 2011 11:54:35 +0000 (11:54 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 14 Mar 2011 11:54:35 +0000 (11:54 +0000)
IF we don't show the dialog allowing the user to select the pages range, we
should print everything by default instead of printing nothing at all as we
used to do.

Closes #12998.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67186 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/prntbase.cpp

index ff67a1f4a0ea9e6b82b0affddffc6c1978c4b7b5..2f08e2d5c3fba604aee7738e7ff0ce6e3d800ce5 100644 (file)
@@ -381,6 +381,19 @@ bool wxPrinter::Setup(wxWindow *parent)
 
 bool wxPrinter::Print(wxWindow *parent, wxPrintout *printout, bool prompt)
 {
+    if ( !prompt && m_printDialogData.GetToPage() == 0 )
+    {
+        // If the dialog is not shown, set the pages range to print everything
+        // by default (as otherwise we wouldn't print anything at all which is
+        // certainly not a reasonable default behaviour).
+        int minPage, maxPage, selFrom, selTo;
+        printout->GetPageInfo(&minPage, &maxPage, &selFrom, &selTo);
+
+        wxPrintDialogData& pdd = m_pimpl->GetPrintDialogData();
+        pdd.SetFromPage(minPage);
+        pdd.SetToPage(maxPage);
+    }
+
     return m_pimpl->Print( parent, printout, prompt );
 }