avoid copying a file if we can just rename it

svn path=/trunk/KDE/kdegraphics/okular/; revision=1114913
remotes/origin/KDE/4.5
Albert Astals Cid 16 years ago
parent f3edf3d5a9
commit ce41955ab8
  1. 22
      core/fileprinter.cpp

@ -78,12 +78,23 @@ int FilePrinter::doPrintFiles( QPrinter &printer, QStringList fileList, FileDele
QFileInfo inputFileInfo = QFileInfo( fileList[0] ); QFileInfo inputFileInfo = QFileInfo( fileList[0] );
QFileInfo outputFileInfo = QFileInfo( printer.outputFileName() ); QFileInfo outputFileInfo = QFileInfo( printer.outputFileName() );
bool doDeleteFile = (fileDeletePolicy == FilePrinter::SystemDeletesFiles);
if ( inputFileInfo.suffix() == outputFileInfo.suffix() ) { if ( inputFileInfo.suffix() == outputFileInfo.suffix() ) {
int res = QFile::copy( fileList[0], printer.outputFileName() ); if ( doDeleteFile ) {
if ( res ) { bool res = QFile::rename( fileList[0], printer.outputFileName() );
ret = 0; if ( res ) {
doDeleteFile = false;
ret = 0;
} else {
ret = -5;
}
} else { } else {
ret = -5; bool res = QFile::copy( fileList[0], printer.outputFileName() );
if ( res ) {
ret = 0;
} else {
ret = -5;
}
} }
} else if ( inputFileInfo.suffix() == "ps" && outputFileInfo.suffix() == "pdf" && ps2pdfAvailable() ) { } else if ( inputFileInfo.suffix() == "ps" && outputFileInfo.suffix() == "pdf" && ps2pdfAvailable() ) {
exe = "ps2pdf"; exe = "ps2pdf";
@ -99,7 +110,7 @@ int FilePrinter::doPrintFiles( QPrinter &printer, QStringList fileList, FileDele
ret = -5; ret = -5;
} }
if ( fileDeletePolicy == FilePrinter::SystemDeletesFiles ) { if ( doDeleteFile ) {
QFile::remove( fileList[0] ); QFile::remove( fileList[0] );
} }
@ -608,3 +619,4 @@ QStringList FilePrinter::optionCupsProperties( QPrinter &printer )
return cupsOptions; return cupsOptions;
} }
/* kate: replace-tabs on; indent-width 4; */

Loading…
Cancel
Save