void KGVDocument::print() { if( !dsc() ) return; KPrinter printer; if( dsc()->isStructured() ) { printer.setPageSelection( KPrinter::ApplicationSide ); printer.setCurrentPage( _part->miniWidget()->displayOptions().page() + 1 ); printer.setMinMax( 1, dsc()->page_count() ); printer.setOption( "kde-range", pageListToRange( _part->markList()->markList() ) ); if( printer.setup( _part->widget(), i18n("Print %1").arg(_part->url().fileName()) ) ) { KTempFile tf( QString::null, ".ps" ); if( tf.status() == 0 ) { if ( printer.pageList().empty() ) { KMessageBox::sorry( 0, i18n( "Printing failed because the list of " "pages to be printed was empty." ), i18n( "Error Printing" ) ); } else if ( savePages( tf.name(), printer.pageList() ) ) { printer.printFiles( QStringList( tf.name() ), true ); } else { KMessageBox::error( 0, i18n( "<qt><strong>Printing failure:</strong><br>Could not convert to PostScript</qt>" ) ); } } else { // TODO: Proper error handling ; } } } else { printer.setPageSelection( KPrinter::SystemSide ); if( printer.setup( _part->widget(), i18n("Print %1").arg(_part->url().fileName()) ) ) printer.printFiles( _fileName ); } }
void KMJobViewer::slotDropped( QDropEvent *e, QListViewItem* ) { QStringList files; QString target; KURL::List uris; KURLDrag::decode( e, uris ); for ( KURL::List::ConstIterator it = uris.begin(); it != uris.end(); ++it) { if ( KIO::NetAccess::download( *it, target, 0 ) ) files << target; } if ( files.count() > 0 ) { KPrinter prt; if ( prt.autoConfigure( m_prname, this ) ) prt.printFiles( files, false, false ); } }