QStringList FilePrinter::pages( QPrinter &printer, PageSelectPolicy pageSelectPolicy, const QString &pageRange, bool useCupsOptions, const QString &version ) { if ( pageSelectPolicy == FilePrinter::SystemSelectsPages ) { if ( printer.printRange() == QPrinter::Selection && ! pageRange.isEmpty() ) { if ( version == "lp" ) { return QStringList("-P") << pageRange ; } if ( version.startsWith( "lpr" ) && useCupsOptions ) { return QStringList("-o") << QString("page-ranges=%1").arg( pageRange ); } } if ( printer.printRange() == QPrinter::PageRange ) { if ( version == "lp" ) { return QStringList("-P") << QString("%1-%2").arg( printer.fromPage() ) .arg( printer.toPage() ); } if ( version.startsWith( "lpr" ) && useCupsOptions ) { return QStringList("-o") << QString("page-ranges=%1-%2").arg( printer.fromPage() ) .arg( printer.toPage() ); } } } return QStringList(); // AllPages }
int QPrinterProto::fromPage() const { QPrinter *item = qscriptvalue_cast<QPrinter*>(thisObject()); if (item) return item->fromPage(); return 0; }
QList<int> FilePrinter::pageList( QPrinter &printer, int lastPage, int currentPage, const QList<int> &selectedPageList ) { if ( printer.printRange() == QPrinter::Selection) { return selectedPageList; } int startPage, endPage; QList<int> list; if ( printer.printRange() == QPrinter::PageRange ) { startPage = printer.fromPage(); endPage = printer.toPage(); #if QT_VERSION >= KDE_MAKE_VERSION(4,7,0) } else if ( printer.printRange() == QPrinter::CurrentPage) { startPage = currentPage; endPage = currentPage; #endif } else { //AllPages startPage = 1; endPage = lastPage; } for (int i = startPage; i <= endPage; i++ ) { list << i; } return list; }
void QgsComposition::print( QPrinter &printer ) { //set resolution based on composer setting printer.setFullPage( true ); printer.setColorMode( QPrinter::Color ); //set user-defined resolution printer.setResolution( printResolution() ); QPainter p( &printer ); //QgsComposition starts page numbering at 0 int fromPage = ( printer.fromPage() < 1 ) ? 0 : printer.fromPage() - 1 ; int toPage = ( printer.toPage() < 1 ) ? numPages() - 1 : printer.toPage() - 1; if ( mPrintAsRaster ) { for ( int i = fromPage; i <= toPage; ++i ) { if ( i > fromPage ) { printer.newPage(); } QImage image = printPageAsRaster( i ); if ( !image.isNull() ) { QRectF targetArea( 0, 0, image.width(), image.height() ); p.drawImage( targetArea, image, targetArea ); } } } if ( !mPrintAsRaster ) { for ( int i = fromPage; i <= toPage; ++i ) { if ( i > fromPage ) { printer.newPage(); } renderPage( &p, i ); } } }
QString FilePrinter::pageRange( QPrinter &printer, int lastPage, const QList<int> &selectedPageList ) { if ( printer.printRange() == QPrinter::Selection) { return pageListToPageRange( selectedPageList ); } if ( printer.printRange() == QPrinter::PageRange ) { return QString("%1-%2").arg(printer.fromPage()).arg(printer.toPage()); } return QString("1-%2").arg( lastPage ); }
void QgsComposition::doPrint( QPrinter& printer, QPainter& p ) { //QgsComposition starts page numbering at 0 int fromPage = ( printer.fromPage() < 1 ) ? 0 : printer.fromPage() - 1 ; int toPage = ( printer.toPage() < 1 ) ? numPages() - 1 : printer.toPage() - 1; if ( mPrintAsRaster ) { for ( int i = fromPage; i <= toPage; ++i ) { if ( i > fromPage ) { printer.newPage(); } QImage image = printPageAsRaster( i ); if ( !image.isNull() ) { QRectF targetArea( 0, 0, image.width(), image.height() ); p.drawImage( targetArea, image, targetArea ); } } } if ( !mPrintAsRaster ) { for ( int i = fromPage; i <= toPage; ++i ) { if ( i > fromPage ) { printer.newPage(); } renderPage( &p, i ); } } }
int LuaPrinter2::getFromPage(lua_State *L) { QPrinter* obj = ValueInstaller<LuaPrinter2>::check( L, 1 ); lua_pushnumber( L, obj->fromPage() ); return 1; }
int Printer::fromPage(lua_State * L) // const : int { QPrinter* lhs = ValueBinding<MyQPrinter>::check( L, 1 ); Util::push( L, lhs->fromPage() ); return 1; }