Deal with a zero to-page
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22274 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -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);
|
||||
|
@@ -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 )
|
||||
|
@@ -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 )
|
||||
|
Reference in New Issue
Block a user