Index: sources/storage/Logger.cpp =================================================================== diff -u -r1ed15b374613c81883e697cad25e55399e7abc17 -rfe3f53cba411ccc253f7b86ac0f9f899d2cb0630 --- sources/storage/Logger.cpp (.../Logger.cpp) (revision 1ed15b374613c81883e697cad25e55399e7abc17) +++ sources/storage/Logger.cpp (.../Logger.cpp) (revision fe3f53cba411ccc253f7b86ac0f9f899d2cb0630) @@ -691,6 +691,8 @@ // Check USB disk space before proceeding if ( !checkExportUSBSpace(vExportList, mSource) ) return false; + m_cancelExport = false; + if ( vExportList.isEmpty() ) { // Copy Folder result = FileHandler::copyFolder( mSource, mDestination); @@ -702,7 +704,12 @@ // qDebug() << it.key() << it.value() << mSource << mDestination; auto index = it.key (); auto filename = it.value(); - result = FileHandler::copyFile(mSource, mDestination + _logBasePathNames[vLogType], filename, ¬ifier, index); + result = FileHandler::copyFile(mSource, mDestination + _logBasePathNames[vLogType], filename, ¬ifier, index, &m_cancelExport); + if (m_cancelExport) + { + result = FileHandler::eOK; + break; + } } } return result >= 0; // refer to QProcess::execute(hit F1 on execute) doc. @@ -743,6 +750,7 @@ } } - //DEBUG: qDebug()<< "available " << availableSpace << " | total "<< totalSpace << " | size copying " << totalExportSizeExpected << " | expecting after " << (availableSpace + totalExportSizeExpected); - return (availableSpace + totalExportSizeExpected) < totalSpace; + qint64 spaceUsed = totalSpace - availableSpace; + //DEBUG: qDebug()<< ((spaceUsed + totalExportSizeExpected) < totalSpace) << "available " << availableSpace << " | total "<< totalSpace << " | size copying " << totalExportSizeExpected ; + return (spaceUsed + totalExportSizeExpected) < totalSpace; }