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:
Julian Smart
2003-07-24 11:32:29 +00:00
parent a1a816f8cc
commit b386cd7a8e
3 changed files with 28 additions and 9 deletions

View File

@@ -252,6 +252,11 @@ void wxGenericPrintDialog::OnOK(wxCommandEvent& WXUNUSED(event))
{ {
TransferDataFromWindow(); 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 // There are some interactions between the global setup data
// and the standard print dialog. The global printing 'mode' // and the standard print dialog. The global printing 'mode'
// is determined by whether the user checks Print to file // is determined by whether the user checks Print to file
@@ -311,12 +316,12 @@ bool wxGenericPrintDialog::TransferDataToWindow()
{ {
m_fromText->Enable(TRUE); m_fromText->Enable(TRUE);
m_toText->Enable(TRUE); m_toText->Enable(TRUE);
m_fromText->SetValue( if (m_printDialogData.GetFromPage() > 0)
wxString::Format(_T("%d"), m_printDialogData.GetFromPage())); m_fromText->SetValue(wxString::Format(_T("%d"), m_printDialogData.GetFromPage()));
m_toText->SetValue( if (m_printDialogData.GetToPage() > 0)
wxString::Format(_T("%d"), m_printDialogData.GetToPage())); m_toText->SetValue(wxString::Format(_T("%d"), m_printDialogData.GetToPage()));
if(m_rangeRadioBox) if(m_rangeRadioBox)
if (m_printDialogData.GetAllPages()) if (m_printDialogData.GetAllPages() || m_printDialogData.GetFromPage() == 0)
m_rangeRadioBox->SetSelection(0); m_rangeRadioBox->SetSelection(0);
else else
m_rangeRadioBox->SetSelection(1); m_rangeRadioBox->SetSelection(1);

View File

@@ -261,7 +261,11 @@ void wxMacCarbonPrintData::TransferFrom( wxPrintDialogData* data )
PMSetPageRange( m_macPrintSettings , data->GetMinPage() , data->GetMaxPage() ) ; PMSetPageRange( m_macPrintSettings , data->GetMinPage() , data->GetMaxPage() ) ;
PMSetCopies( m_macPrintSettings , data->GetNoCopies() , false ) ; PMSetCopies( m_macPrintSettings , data->GetNoCopies() , false ) ;
PMSetFirstPage( m_macPrintSettings , data->GetFromPage() , 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 wxMacCarbonPrintData::CopyFrom( wxNativePrintData* d )
@@ -443,8 +447,11 @@ void wxMacClassicPrintData::TransferTo( wxPageSetupData* data )
void wxMacClassicPrintData::TransferFrom( wxPrintDialogData* 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.iFstPage = data->GetFromPage() ;
(**m_macPrintSettings).prJob.iLstPage = data->GetToPage() ; (**m_macPrintSettings).prJob.iLstPage = toPage;
} }
void wxMacClassicPrintData::TransferTo( wxPrintDialogData* data ) void wxMacClassicPrintData::TransferTo( wxPrintDialogData* data )

View File

@@ -261,7 +261,11 @@ void wxMacCarbonPrintData::TransferFrom( wxPrintDialogData* data )
PMSetPageRange( m_macPrintSettings , data->GetMinPage() , data->GetMaxPage() ) ; PMSetPageRange( m_macPrintSettings , data->GetMinPage() , data->GetMaxPage() ) ;
PMSetCopies( m_macPrintSettings , data->GetNoCopies() , false ) ; PMSetCopies( m_macPrintSettings , data->GetNoCopies() , false ) ;
PMSetFirstPage( m_macPrintSettings , data->GetFromPage() , 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 wxMacCarbonPrintData::CopyFrom( wxNativePrintData* d )
@@ -443,8 +447,11 @@ void wxMacClassicPrintData::TransferTo( wxPageSetupData* data )
void wxMacClassicPrintData::TransferFrom( wxPrintDialogData* 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.iFstPage = data->GetFromPage() ;
(**m_macPrintSettings).prJob.iLstPage = data->GetToPage() ; (**m_macPrintSettings).prJob.iLstPage = toPage;
} }
void wxMacClassicPrintData::TransferTo( wxPrintDialogData* data ) void wxMacClassicPrintData::TransferTo( wxPrintDialogData* data )