pgLab/pglab/MasterController.h
eelke 784ad68758 Show UnsavedDocumentsDialog when closing window or quitting application
so user can save and or discard docs more efficiently.
2026-10-19 18:16:25 +02:00

44 lines
1.1 KiB
C++

#ifndef MASTERCONTROLLER_H
#define MASTERCONTROLLER_H
#include <QObject>
#include <atomic>
#include <future>
#include <map>
#include <memory>
#include "sqlite/SQLiteConnection.h"
#include "querytool/SqlDocumentRegistry.h"
class ConnectionController;
/** \brief Controller class responsible for all things global.
*/
class MasterController : public QObject {
Q_OBJECT
public:
explicit MasterController(QObject *parent = nullptr);
MasterController(const MasterController&) = delete;
MasterController &operator=(const MasterController&) = delete;
~MasterController();
void init();
ConnectionController* connectionController();
SQLiteConnection& userConfigDatabase();
SqlDocumentRegistry& sqlDocumentRegistry() { return m_sqlDocumentRegistry; }
/// Asks once about all modified documents of all windows. Returns false when quitting must be aborted.
bool confirmQuit(QWidget *parent);
signals:
public slots:
private:
SQLiteConnection m_userConfigDatabase;
SqlDocumentRegistry m_sqlDocumentRegistry;
ConnectionController* m_connectionController = nullptr;
};
#endif // MASTERCONTROLLER_H