// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma implementation "printwin.h"
-#endif
-
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
UInt32 from , to ;
PMGetFirstPage( m_macPrintSettings , &from ) ;
PMGetLastPage( m_macPrintSettings , &to ) ;
- data->SetFromPage( from ) ;
- data->SetToPage( to ) ;
+ if ( to >= 0x7FFFFFFF ) // due to an OS Bug we don't get back kPMPrintAllPages
+ {
+ data->SetAllPages( true ) ;
+ // This means all pages, more or less
+ data->SetFromPage(1);
+ data->SetToPage(32000);
+ }
+ else
+ {
+ data->SetFromPage( from ) ;
+ data->SetToPage( to ) ;
+ data->SetAllPages( false );
+ }
}
void wxMacCarbonPrintData::TransferFrom( wxPrintDialogData* data )
PMSetCopies( m_macPrintSettings , data->GetNoCopies() , false ) ;
PMSetFirstPage( m_macPrintSettings , data->GetFromPage() , false ) ;
- int toPage = data->GetToPage();
- if (toPage < 1)
- toPage = data->GetFromPage();
- PMSetLastPage( m_macPrintSettings , toPage , false ) ;
+ if (data->GetAllPages() || data->GetFromPage() == 0)
+ {
+ PMSetLastPage( m_macPrintSettings , (UInt32) kPMPrintAllPages, true ) ;
+ }
+ else
+ {
+ PMSetLastPage( m_macPrintSettings , (UInt32) data->GetToPage() , false ) ;
+ }
}
/*
// m_previewScale = (float)((float)screenWidth/(float)printerWidth);
// m_previewScale = m_previewScale * (float)((float)screenXRes/(float)printerXRes);
- m_previewScale = 1 ;
+ m_previewScale = 1 ;
}
#endif