refs #144 , improved file deleter , no dependency of QObject anymore, now using single deleter object

This commit is contained in:
Klaus Basan
2014-02-20 15:08:48 +01:00
parent 7177d53552
commit 59ff750b4a
4 changed files with 24 additions and 15 deletions

View File

@@ -3,6 +3,17 @@
namespace BlackMisc
{
void CFileDeleter::addFile(const QString &file)
{
if (file.isEmpty()) return;
if (!this->m_fileNames.contains(file)) this->m_fileNames.append(file);
}
void CFileDeleter::addFileForDeletion(const QString &file)
{
CFileDeleter::fileDeleter().addFile(file);
}
CFileDeleter::~CFileDeleter()
{
foreach(const QString fn, this->m_fileNames)

View File

@@ -10,25 +10,25 @@ namespace BlackMisc
/*!
* \brief Utility class, deleting files when it is destroyed
*/
class CFileDeleter : public QObject
class CFileDeleter
{
Q_OBJECT
private:
QStringList m_fileNames;
public:
/*!
* \brief File deleter
* \param parent
*/
explicit CFileDeleter(QObject *parent = nullptr) : QObject(parent) {}
//! \brief File deleter
CFileDeleter() {}
//! \brief add given file for deletion
void addFileForDeletion(const QString &file)
{
if (!this->m_fileNames.contains(file)) this->m_fileNames.append(file);
}
void addFile(const QString &file);
public:
//! \brief file deleter
static CFileDeleter &fileDeleter() { static CFileDeleter f; return f;}
//! \brief add a file (name)
static void addFileForDeletion(const QString &file);
//! \brief Destructor
~CFileDeleter();