#ifndef MASTERCONTROLLER_H #define MASTERCONTROLLER_H #include #include #include class ConnectionConfig; class ConnectionList; class ConnectionListModel; class ConnectionManagerWindow; /** \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(); ConnectionListModel *getConnectionListModel() { return m_connectionListModel; } void showConnectionManager(); void openSqlWindowForConnection(size_t connection_index); void openServerWindowForConnection(int connection_index); void openBackupDlgForConnection(int connection_index); signals: public slots: private: ConnectionList *m_connectionList = nullptr; ConnectionListModel *m_connectionListModel = nullptr; ConnectionManagerWindow *m_connectionManagerWindow = nullptr; /** Retrieves the connection password from the user (directly or through the psk db) * */ bool retrieveConnectionPassword(ConnectionConfig &cc); bool getPasswordFromPskdb(const std::string &password_id, std::string &password); bool storePasswordInPskdb(const std::string &password_id, const std::string password); }; #endif // MASTERCONTROLLER_H