Skip to content
Permalink
Browse files

Temporary .qgs files are deleted

  • Loading branch information
pblottiere committed Jul 13, 2017
1 parent a0a2f0c commit 1d8574e436f795bcfe64e17f0febd9743c1c7fa5
Showing with 30 additions and 5 deletions.
  1. +7 −0 python/core/qgsarchive.sip
  2. +14 −0 src/core/qgsarchive.cpp
  3. +6 −0 src/core/qgsarchive.h
  4. +3 −5 src/core/qgsproject.cpp
@@ -136,6 +136,13 @@ class QgsProjectArchive : QgsArchive
Returns the current .qgs project file or an empty string if there's none
:rtype: str
%End

bool clearProjectFile();
%Docstring
Remove the current .qgs project file from the temporary directory.
:return: true if the file is well removed, false otherwise
:rtype: bool
%End
};

/************************************************************************
@@ -152,3 +152,17 @@ bool QgsProjectArchive::unzip( const QString &filename )
else
return false;
}

bool QgsProjectArchive::clearProjectFile()
{
bool rc = false;
QString file = projectFile();

if ( !file.isEmpty() && QFile::exists( file ) )
rc = QFile::remove( file );

if ( rc )
mFiles.removeOne( file );

return rc;
}
@@ -147,6 +147,12 @@ class CORE_EXPORT QgsProjectArchive : public QgsArchive
* Returns the current .qgs project file or an empty string if there's none
*/
QString projectFile() const;

/**
* Remove the current .qgs project file from the temporary directory.
* \returns true if the file is well removed, false otherwise
*/
bool clearProjectFile();
};

#endif
@@ -2110,17 +2110,18 @@ bool QgsProject::unzip( const QString &filename )
return false;
}

// keep the archive
// keep the archive and remove the temporary .qgs file
mUnzipping = false;
mPathResolverBaseName = QString();
mArchive.reset( archive.release() );
mArchive->clearProjectFile();

return true;
}

bool QgsProject::zip()
{
if ( unzipped() )
if ( !mArchive->filename().isEmpty() )
return zip( mArchive->filename() );

return false;
@@ -2168,9 +2169,6 @@ bool QgsProject::zip( const QString &filename )
return false;
}

// keep the archive
mArchive.reset( archive.release() );

return true;
}

0 comments on commit 1d8574e

Please sign in to comment.
You can’t perform that action at this time.