diff options
Diffstat (limited to 'SQLiteStudio3/coreSQLiteStudio/committable.h')
| -rw-r--r-- | SQLiteStudio3/coreSQLiteStudio/committable.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/SQLiteStudio3/coreSQLiteStudio/committable.h b/SQLiteStudio3/coreSQLiteStudio/committable.h new file mode 100644 index 0000000..cf1d48b --- /dev/null +++ b/SQLiteStudio3/coreSQLiteStudio/committable.h @@ -0,0 +1,27 @@ +#ifndef COMMITTABLE_H +#define COMMITTABLE_H + +#include "coreSQLiteStudio_global.h" +#include <QList> +#include <functional> + +class API_EXPORT Committable +{ + public: + typedef std::function<bool(const QList<Committable*>& instances)> ConfirmFunction; + + Committable(); + virtual ~Committable(); + + virtual bool isUncommited() const = 0; + virtual QString getQuitUncommitedConfirmMessage() const = 0; + + static void init(ConfirmFunction confirmFunc); + static bool canQuit(); + + private: + static ConfirmFunction confirmFunc; + static QList<Committable*> instances; +}; + +#endif // COMMITTABLE_H |
