#ifndef MAINWINDOW_H #define MAINWINDOW_H #include "ASyncDBConnection.h" #include "ConnectionConfig.h" #include "tsqueue.h" #include #include "ASyncWindow.h" #include #include #include #include "PgsqlConn.h" #include #include #include namespace Ui { class MainWindow; } namespace Pgsql { class Connection; } class QueryTab; class MasterController; class QCloseEvent; class OpenDatabase; class MainWindow : public ASyncWindow { Q_OBJECT public: explicit MainWindow(MasterController *master, QWidget *parent); ~MainWindow(); void setConfig(const ConnectionConfig &config); OpenDatabase* getDatabase() { return m_database; } private: Ui::MainWindow *ui; ConnectionConfig m_config; OpenDatabase *m_database; MasterController *m_masterController; // class OpenDocumentController { // public: // private: // QString path = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation); // QDir dir(path); // if (!dir.exists()) { // dir.mkpath("."); // } // }; QueryTab *GetActiveQueryTab(); void closeEvent(QCloseEvent *event); void showEvent(QShowEvent *event); QueryTab *newSqlPage(); private slots: void on_actionLoad_SQL_triggered(); void on_actionSave_SQL_triggered(); void on_actionExport_data_triggered(); void on_actionClose_triggered(); void on_actionAbout_triggered(); void on_actionExecute_SQL_triggered(); void on_actionExplain_Analyze_triggered(); void on_actionCancel_triggered(); void on_actionSave_SQL_as_triggered(); void on_actionSave_copy_of_SQL_as_triggered(); void on_actionNew_SQL_triggered(); void on_tabWidget_tabCloseRequested(int index); void on_actionExplain_triggered(); void on_actionShow_connection_manager_triggered(); void on_actionCopy_triggered(); void on_actionCopy_as_C_string_triggered(); }; #endif // MAINWINDOW_H