#ifndef MASTERCONTROLLER_H #define MASTERCONTROLLER_H #include #include #include #include #include #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