43 lines
1 KiB
C++
43 lines
1 KiB
C++
#include "ServerWindow.h"
|
|
#include "ui_ServerWindow.h"
|
|
#include "OpenDatabase.h"
|
|
#include "DatabasesTableModel.h"
|
|
#include "RolesTableModel.h"
|
|
#include "PgDatabaseCatalogue.h"
|
|
|
|
ServerWindow::ServerWindow(MasterController *master, QWidget *parent)
|
|
: ASyncWindow(parent)
|
|
, ui(new Ui::ServerWindow)
|
|
, m_masterController(master)
|
|
{
|
|
ui->setupUi(this);
|
|
|
|
m_databasesModel = new DatabasesTableModel(this);
|
|
ui->databasesTableView->setModel(m_databasesModel);
|
|
|
|
m_rolesModel = new RolesTableModel(this);
|
|
ui->rolesTableView->setModel(m_rolesModel);
|
|
}
|
|
|
|
ServerWindow::~ServerWindow()
|
|
{
|
|
delete ui;
|
|
}
|
|
|
|
void ServerWindow::setConfig(const ConnectionConfig &config)
|
|
{
|
|
m_config = config;
|
|
auto res = OpenDatabase::createOpenDatabase(config);
|
|
if (res.valid()) {
|
|
m_database = res.get();
|
|
auto cat = m_database->catalogue();
|
|
if (cat) {
|
|
m_databasesModel->setDatabaseList(cat);
|
|
m_rolesModel->setRoleList(cat->authIds());
|
|
}
|
|
}
|
|
QString title = "pglab - ";
|
|
title += m_config.name().c_str();
|
|
setWindowTitle(title);
|
|
// newSqlPage();
|
|
}
|