From b386cd7a8e1c6e983c4b47c2dade1759dae199a2 Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Thu, 24 Jul 2003 11:32:29 +0000 Subject: [PATCH] Deal with a zero to-page git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22274 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/generic/prntdlgg.cpp | 15 ++++++++++----- src/mac/carbon/printmac.cpp | 11 +++++++++-- src/mac/printmac.cpp | 11 +++++++++-- 3 files changed, 28 insertions(+), 9 deletions(-) diff --git a/src/generic/prntdlgg.cpp b/src/generic/prntdlgg.cpp index 49cb50fb98..e7a3330a8f 100644 --- a/src/generic/prntdlgg.cpp +++ b/src/generic/prntdlgg.cpp @@ -252,6 +252,11 @@ void wxGenericPrintDialog::OnOK(wxCommandEvent& WXUNUSED(event)) { TransferDataFromWindow(); + // An empty 'to' field signals printing just the + // 'from' page. + if (m_printDialogData.GetToPage() < 1) + m_printDialogData.SetToPage(m_printDialogData.GetFromPage()); + // There are some interactions between the global setup data // and the standard print dialog. The global printing 'mode' // is determined by whether the user checks Print to file @@ -311,12 +316,12 @@ bool wxGenericPrintDialog::TransferDataToWindow() { m_fromText->Enable(TRUE); m_toText->Enable(TRUE); - m_fromText->SetValue( - wxString::Format(_T("%d"), m_printDialogData.GetFromPage())); - m_toText->SetValue( - wxString::Format(_T("%d"), m_printDialogData.GetToPage())); + if (m_printDialogData.GetFromPage() > 0) + m_fromText->SetValue(wxString::Format(_T("%d"), m_printDialogData.GetFromPage())); + if (m_printDialogData.GetToPage() > 0) + m_toText->SetValue(wxString::Format(_T("%d"), m_printDialogData.GetToPage())); if(m_rangeRadioBox) - if (m_printDialogData.GetAllPages()) + if (m_printDialogData.GetAllPages() || m_printDialogData.GetFromPage() == 0) m_rangeRadioBox->SetSelection(0); else m_rangeRadioBox->SetSelection(1); diff --git a/src/mac/carbon/printmac.cpp b/src/mac/carbon/printmac.cpp index b7c8915190..487123bad0 100644 --- a/src/mac/carbon/printmac.cpp +++ b/src/mac/carbon/printmac.cpp @@ -261,7 +261,11 @@ void wxMacCarbonPrintData::TransferFrom( wxPrintDialogData* data ) PMSetPageRange( m_macPrintSettings , data->GetMinPage() , data->GetMaxPage() ) ; PMSetCopies( m_macPrintSettings , data->GetNoCopies() , false ) ; PMSetFirstPage( m_macPrintSettings , data->GetFromPage() , false ) ; - PMSetLastPage( m_macPrintSettings , data->GetToPage() , false ) ; + + int toPage = data->GetToPage(); + if (toPage < 1) + toPage = data->GetFromPage(); + PMSetLastPage( m_macPrintSettings , toPage , false ) ; } void wxMacCarbonPrintData::CopyFrom( wxNativePrintData* d ) @@ -443,8 +447,11 @@ void wxMacClassicPrintData::TransferTo( wxPageSetupData* data ) void wxMacClassicPrintData::TransferFrom( wxPrintDialogData* data ) { + int toPage = data->GetToPage(); + if (toPage < 1) + toPage = data->GetFromPage(); (**m_macPrintSettings).prJob.iFstPage = data->GetFromPage() ; - (**m_macPrintSettings).prJob.iLstPage = data->GetToPage() ; + (**m_macPrintSettings).prJob.iLstPage = toPage; } void wxMacClassicPrintData::TransferTo( wxPrintDialogData* data ) diff --git a/src/mac/printmac.cpp b/src/mac/printmac.cpp index b7c8915190..487123bad0 100644 --- a/src/mac/printmac.cpp +++ b/src/mac/printmac.cpp @@ -261,7 +261,11 @@ void wxMacCarbonPrintData::TransferFrom( wxPrintDialogData* data ) PMSetPageRange( m_macPrintSettings , data->GetMinPage() , data->GetMaxPage() ) ; PMSetCopies( m_macPrintSettings , data->GetNoCopies() , false ) ; PMSetFirstPage( m_macPrintSettings , data->GetFromPage() , false ) ; - PMSetLastPage( m_macPrintSettings , data->GetToPage() , false ) ; + + int toPage = data->GetToPage(); + if (toPage < 1) + toPage = data->GetFromPage(); + PMSetLastPage( m_macPrintSettings , toPage , false ) ; } void wxMacCarbonPrintData::CopyFrom( wxNativePrintData* d ) @@ -443,8 +447,11 @@ void wxMacClassicPrintData::TransferTo( wxPageSetupData* data ) void wxMacClassicPrintData::TransferFrom( wxPrintDialogData* data ) { + int toPage = data->GetToPage(); + if (toPage < 1) + toPage = data->GetFromPage(); (**m_macPrintSettings).prJob.iFstPage = data->GetFromPage() ; - (**m_macPrintSettings).prJob.iLstPage = data->GetToPage() ; + (**m_macPrintSettings).prJob.iLstPage = toPage; } void wxMacClassicPrintData::TransferTo( wxPrintDialogData* data ) -- 2.45.2