From ce41955ab8c8e8d208be3732fd0220d41356b4d1 Mon Sep 17 00:00:00 2001 From: Albert Astals Cid Date: Wed, 14 Apr 2010 21:38:40 +0000 Subject: [PATCH] avoid copying a file if we can just rename it svn path=/trunk/KDE/kdegraphics/okular/; revision=1114913 --- core/fileprinter.cpp | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/core/fileprinter.cpp b/core/fileprinter.cpp index c49f41b4e..cefa5620f 100644 --- a/core/fileprinter.cpp +++ b/core/fileprinter.cpp @@ -78,12 +78,23 @@ int FilePrinter::doPrintFiles( QPrinter &printer, QStringList fileList, FileDele QFileInfo inputFileInfo = QFileInfo( fileList[0] ); QFileInfo outputFileInfo = QFileInfo( printer.outputFileName() ); + bool doDeleteFile = (fileDeletePolicy == FilePrinter::SystemDeletesFiles); if ( inputFileInfo.suffix() == outputFileInfo.suffix() ) { - int res = QFile::copy( fileList[0], printer.outputFileName() ); - if ( res ) { - ret = 0; + if ( doDeleteFile ) { + bool res = QFile::rename( fileList[0], printer.outputFileName() ); + if ( res ) { + doDeleteFile = false; + ret = 0; + } else { + ret = -5; + } } 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() ) { exe = "ps2pdf"; @@ -99,7 +110,7 @@ int FilePrinter::doPrintFiles( QPrinter &printer, QStringList fileList, FileDele ret = -5; } - if ( fileDeletePolicy == FilePrinter::SystemDeletesFiles ) { + if ( doDeleteFile ) { QFile::remove( fileList[0] ); } @@ -608,3 +619,4 @@ QStringList FilePrinter::optionCupsProperties( QPrinter &printer ) return cupsOptions; } +/* kate: replace-tabs on; indent-width 4; */