From 7b1fa5617daa95e25a91b6c051797cd56b5e8d79 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Wed, 19 Feb 2014 23:52:54 +0100 Subject: [PATCH] refs #144 Util class, deleting temp files when application shuts down. First used with soundgenerator's temp. wav-files --- src/blackmisc/filedeleter.cpp | 14 +++++++++++++ src/blackmisc/filedeleter.h | 38 +++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 src/blackmisc/filedeleter.cpp create mode 100644 src/blackmisc/filedeleter.h diff --git a/src/blackmisc/filedeleter.cpp b/src/blackmisc/filedeleter.cpp new file mode 100644 index 000000000..0f8377e01 --- /dev/null +++ b/src/blackmisc/filedeleter.cpp @@ -0,0 +1,14 @@ +#include +#include "filedeleter.h" + +namespace BlackMisc +{ + CFileDeleter::~CFileDeleter() + { + foreach(const QString fn, this->m_fileNames) + { + QFile f(fn); + f.remove(); + } + } +} diff --git a/src/blackmisc/filedeleter.h b/src/blackmisc/filedeleter.h new file mode 100644 index 000000000..feec4583e --- /dev/null +++ b/src/blackmisc/filedeleter.h @@ -0,0 +1,38 @@ +#ifndef BLACKMISC_CFILEDELETER_H +#define BLACKMISC_CFILEDELETER_H + +#include +#include + +namespace BlackMisc +{ + + /*! + * \brief Utility class, deleting files when it is destroyed + */ + class CFileDeleter : public QObject + { + Q_OBJECT + + private: + QStringList m_fileNames; + + public: + /*! + * \brief File deleter + * \param parent + */ + explicit CFileDeleter(QObject *parent = nullptr) : QObject(parent) {} + + //! \brief add given file for deletion + void addFileForDeletion(const QString &file) + { + if (!this->m_fileNames.contains(file)) this->m_fileNames.append(file); + } + + //! \brief Destructor + ~CFileDeleter(); + }; +} + +#endif // guard