{
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
{
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);
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 )
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 )
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 )
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 )