Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Adds more explicit error message when auxiliary storage is saved
- Loading branch information
|
@@ -626,15 +626,33 @@ bool QgsAuxiliaryStorage::duplicateTable( const QgsDataSourceUri &ogrUri, const |
|
|
return rc; |
|
|
} |
|
|
|
|
|
bool QgsAuxiliaryStorage::saveAs( const QString &filename ) const |
|
|
QString QgsAuxiliaryStorage::errorString() const |
|
|
{ |
|
|
if ( QFile::exists( filename ) ) |
|
|
QFile::remove( filename ); |
|
|
return mErrorString; |
|
|
} |
|
|
|
|
|
bool QgsAuxiliaryStorage::saveAs( const QString &filename ) |
|
|
{ |
|
|
mErrorString.clear(); |
|
|
|
|
|
QFile dest( filename ); |
|
|
if ( dest.exists() && !dest.remove() ) |
|
|
{ |
|
|
mErrorString = dest.errorString(); |
|
|
return false; |
|
|
} |
|
|
|
|
|
QFile origin( currentFileName() ); |
|
|
if ( !origin.copy( filename ) ) |
|
|
{ |
|
|
mErrorString = origin.errorString(); |
|
|
return false; |
|
|
} |
|
|
|
|
|
return QFile::copy( currentFileName(), filename ); |
|
|
return true; |
|
|
} |
|
|
|
|
|
bool QgsAuxiliaryStorage::saveAs( const QgsProject &project ) const |
|
|
bool QgsAuxiliaryStorage::saveAs( const QgsProject &project ) |
|
|
{ |
|
|
return saveAs( filenameForProject( project ) ); |
|
|
} |
|
|
|
@@ -319,12 +319,14 @@ class CORE_EXPORT QgsAuxiliaryStorage |
|
|
*/ |
|
|
QString currentFileName() const; |
|
|
|
|
|
QString errorString() const; |
|
|
|
|
|
/** |
|
|
* Saves the current database to a new path. |
|
|
* |
|
|
* \returns true if everything is saved, false otherwise |
|
|
*/ |
|
|
bool saveAs( const QString &filename ) const; |
|
|
bool saveAs( const QString &filename ); |
|
|
|
|
|
/** |
|
|
* Saves the current database to a new path for a specific project. |
|
@@ -333,7 +335,7 @@ class CORE_EXPORT QgsAuxiliaryStorage |
|
|
* |
|
|
* \returns true if everything is saved, false otherwise |
|
|
*/ |
|
|
bool saveAs( const QgsProject &project ) const; |
|
|
bool saveAs( const QgsProject &project ); |
|
|
|
|
|
/** |
|
|
* Saves the current database. |
|
@@ -408,6 +410,7 @@ class CORE_EXPORT QgsAuxiliaryStorage |
|
|
QString mFileName; // original filename |
|
|
QString mTmpFileName; // temporary filename used in copy mode |
|
|
bool mCopy = false; |
|
|
QString mErrorString; |
|
|
}; |
|
|
|
|
|
#endif |
|
@@ -1649,7 +1649,10 @@ bool QgsProject::write() |
|
|
|
|
|
// errors raised during writing project file are more important |
|
|
if ( !asOk && writeOk ) |
|
|
setError( tr( "Unable to save auxiliary storage" ) ); |
|
|
{ |
|
|
const QString err = mAuxiliaryStorage->errorString(); |
|
|
setError( tr( "Unable to save auxiliary storage ('%1')" ).arg( err ) ); |
|
|
} |
|
|
|
|
|
return asOk && writeOk; |
|
|
} |
|
@@ -2614,7 +2617,8 @@ bool QgsProject::zip( const QString &filename ) |
|
|
|
|
|
if ( ! saveAuxiliaryStorage( asFileName ) ) |
|
|
{ |
|
|
setError( tr( "Unable to save auxiliary storage" ) ); |
|
|
const QString err = mAuxiliaryStorage->errorString(); |
|
|
setError( tr( "Unable to save auxiliary storage ('%1')" ).arg( err ) ); |
|
|
return false; |
|
|
} |
|
|
|
|
|