pgLab/pglab/ConnectionManagerWindow.h

46 lines
1.2 KiB
C++

#ifndef CONNECTIONMANAGERWINDOW_H
#define CONNECTIONMANAGERWINDOW_H
#include <QMainWindow>
#include <optional>
namespace Ui {
class ConnectionManagerWindow;
}
class ConnectionConfig;
class ConnectionController;
class MasterController;
class QDataWidgetMapper;
class QStandardItemModel;
/** \brief Class that holds glue code for the ConnectionManager UI.
*
*/
class ConnectionManagerWindow : public QMainWindow {
Q_OBJECT
public:
explicit ConnectionManagerWindow(MasterController *master, QWidget *parent = nullptr);
~ConnectionManagerWindow();
private slots:
void on_actionAdd_Connection_triggered();
void on_currentChanged(const QModelIndex &current, const QModelIndex &previous);
void on_actionDelete_connection_triggered();
void on_actionConnect_triggered();
void on_actionQuit_application_triggered();
void on_actionBackup_database_triggered();
void on_actionManage_server_triggered();
private:
Ui::ConnectionManagerWindow *ui;
QDataWidgetMapper *m_mapper = nullptr;
MasterController *m_masterController;
ConnectionController *m_connectionController;
std::optional<size_t> prevSelection;
void setupWidgetMappings();
};
#endif // CONNECTIONMANAGERWINDOW_H