// collate cannot be set
#if 0 // not yet tested
if ( m_printerName.Length() > 0 )
- PMSessionSetCurrentPrinter( (PMPrintSession) m_macPrintSession , wxMacCFStringHolder( m_printerName ) ) ;
+ PMSessionSetCurrentPrinter( (PMPrintSession) m_macPrintSession , wxMacCFStringHolder( m_printerName , wxFont::GetDefaultEncoding() ) ) ;
#endif
PMColorMode color ;
PMGetColorMode( (PMPrintSettings) m_macPrintSettings, &color ) ;
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 )
if (dialog.ShowModal() == wxID_OK)
{
dc = dialog.GetPrintDC();
- m_printDialogData = dialog.GetPrintData();
+ m_printDialogData = dialog.GetPrintDialogData();
}
}
else
}
else
{
-// #if !TARGET_CARBON
- GrafPtr thePort ;
- GetPort( &thePort ) ;
- wxSafeYield(win,true);
- SetPort( thePort ) ;
-// #endif
+#if TARGET_CARBON
+ if ( UMAGetSystemVersion() >= 0x1000 )
+#endif
+ {
+ GrafPtr thePort ;
+ GetPort( &thePort ) ;
+ wxSafeYield(win,true);
+ SetPort( thePort ) ;
+ }
dc->StartPage();
keepGoing = printout->OnPrintPage(pn);
dc->EndPage();