Branch data Line data Source code
1 : : /*************************************************************************** 2 : : qgsgeopackagerasterwritertask.cpp - QgsGeoPackageRasterWriterTask 3 : : 4 : : --------------------- 5 : : begin : 23.8.2017 6 : : copyright : (C) 2017 by Alessandro Pasotti 7 : : email : apasotti at boundlessgeo dot com 8 : : *************************************************************************** 9 : : * * 10 : : * This program is free software; you can redistribute it and/or modify * 11 : : * it under the terms of the GNU General Public License as published by * 12 : : * the Free Software Foundation; either version 2 of the License, or * 13 : : * (at your option) any later version. * 14 : : * * 15 : : ***************************************************************************/ 16 : : #include "qgsgeopackagerasterwritertask.h" 17 : : 18 : : 19 : : ///@cond PRIVATE 20 : : 21 : : 22 : 0 : QgsGeoPackageRasterWriterTask::QgsGeoPackageRasterWriterTask( const QgsMimeDataUtils::Uri &sourceUri, const QString &destinationPath ) 23 : 0 : : QgsTask( tr( "Saving %1" ).arg( destinationPath ), QgsTask::CanCancel ) 24 : 0 : , mWriter( sourceUri, destinationPath ) 25 : 0 : , mFeedback( new QgsFeedback() ) 26 : 0 : { 27 : : 28 : 0 : } 29 : : 30 : 0 : void QgsGeoPackageRasterWriterTask::cancel() 31 : : { 32 : 0 : mError = QgsGeoPackageRasterWriter::WriterError::ErrUserCanceled; 33 : 0 : mFeedback->cancel(); 34 : 0 : } 35 : : 36 : 0 : bool QgsGeoPackageRasterWriterTask::run() 37 : : { 38 : 0 : connect( mFeedback.get(), &QgsFeedback::progressChanged, this, &QgsGeoPackageRasterWriterTask::setProgress ); 39 : 0 : mError = mWriter.writeRaster( mFeedback.get(), &mErrorMessage ); 40 : 0 : return mError == QgsGeoPackageRasterWriter::WriterError::NoError; 41 : : } 42 : : 43 : 0 : void QgsGeoPackageRasterWriterTask::finished( bool result ) 44 : : { 45 : 0 : if ( result ) 46 : : { 47 : 0 : emit writeComplete( mWriter.outputUrl() ); 48 : 0 : } 49 : : else 50 : : { 51 : 0 : emit errorOccurred( mError, mErrorMessage ); 52 : : } 53 : 0 : } 54 : : 55 : : ///@endcond