List of databases shows owner name instead of oid.
This commit is contained in:
parent
874ca664b8
commit
afa80a1125
4 changed files with 29 additions and 5 deletions
|
|
@ -1,15 +1,18 @@
|
||||||
#include "DatabasesTableModel.h"
|
#include "DatabasesTableModel.h"
|
||||||
|
#include "PgsqlDatabaseCatalogue.h"
|
||||||
#include "PgDatabaseContainer.h"
|
#include "PgDatabaseContainer.h"
|
||||||
|
#include "PgAuthIdContainer.h"
|
||||||
|
|
||||||
DatabasesTableModel::DatabasesTableModel(QObject *parent)
|
DatabasesTableModel::DatabasesTableModel(QObject *parent)
|
||||||
: QAbstractTableModel(parent)
|
: QAbstractTableModel(parent)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void DatabasesTableModel::setDatabaseList(const PgDatabaseContainer* databases)
|
void DatabasesTableModel::setDatabaseList(const PgsqlDatabaseCatalogue* cat)
|
||||||
{
|
{
|
||||||
beginResetModel();
|
beginResetModel();
|
||||||
m_databases = databases;
|
m_catalog = cat;
|
||||||
|
m_databases = cat->databases();
|
||||||
endResetModel();
|
endResetModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -87,7 +90,10 @@ QVariant DatabasesTableModel::data(const QModelIndex &index, int role) const
|
||||||
break;
|
break;
|
||||||
case DbaCol:
|
case DbaCol:
|
||||||
// todo lookup role name
|
// todo lookup role name
|
||||||
v = db.dba;
|
{
|
||||||
|
const auto& roles = m_catalog->authIds();
|
||||||
|
v = QString("%1 (%2)").arg(roles->getByOid(db.dba).name).arg(db.dba);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case EncodingCol:
|
case EncodingCol:
|
||||||
// todo lookup encoding name
|
// todo lookup encoding name
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@
|
||||||
#include <QAbstractTableModel>
|
#include <QAbstractTableModel>
|
||||||
|
|
||||||
class PgDatabaseContainer;
|
class PgDatabaseContainer;
|
||||||
|
class PgsqlDatabaseCatalogue;
|
||||||
|
|
||||||
/** Class for displaying the list of databases of a server in a QTableView
|
/** Class for displaying the list of databases of a server in a QTableView
|
||||||
*
|
*
|
||||||
|
|
@ -21,7 +22,7 @@ public:
|
||||||
|
|
||||||
explicit DatabasesTableModel(QObject *parent);
|
explicit DatabasesTableModel(QObject *parent);
|
||||||
|
|
||||||
void setDatabaseList(const PgDatabaseContainer* databases);
|
void setDatabaseList(const PgsqlDatabaseCatalogue* cat);
|
||||||
|
|
||||||
// Header:
|
// Header:
|
||||||
QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
|
QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
|
||||||
|
|
@ -33,6 +34,7 @@ public:
|
||||||
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
const PgsqlDatabaseCatalogue *m_catalog = nullptr;
|
||||||
const PgDatabaseContainer *m_databases = nullptr;
|
const PgDatabaseContainer *m_databases = nullptr;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -183,6 +183,22 @@ void MainWindow::closeEvent(QCloseEvent *event)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString s;
|
||||||
|
for (const auto& e : files_to_save) {
|
||||||
|
s += e + "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
QMessageBox msgBox;
|
||||||
|
msgBox.setIcon(QMessageBox::Warning);
|
||||||
|
msgBox.setText("The following documents need to be saved");
|
||||||
|
msgBox.setInformativeText(s);
|
||||||
|
msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel);
|
||||||
|
msgBox.setDefaultButton(QMessageBox::Cancel);
|
||||||
|
//int ret =
|
||||||
|
msgBox.exec();
|
||||||
|
|
||||||
|
|
||||||
// if (!m_queryTextChanged || continueWithoutSaving()) {
|
// if (!m_queryTextChanged || continueWithoutSaving()) {
|
||||||
// event->accept();
|
// event->accept();
|
||||||
// }
|
// }
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ void ServerWindow::setConfig(const ConnectionConfig &config)
|
||||||
m_database = res.get();
|
m_database = res.get();
|
||||||
auto cat = m_database->catalogue();
|
auto cat = m_database->catalogue();
|
||||||
if (cat) {
|
if (cat) {
|
||||||
m_databasesModel->setDatabaseList(cat->databases());
|
m_databasesModel->setDatabaseList(cat);
|
||||||
m_rolesModel->setRoleList(cat->authIds());
|
m_rolesModel->setRoleList(cat->authIds());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue