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 "PgsqlDatabaseCatalogue.h"
|
||||
#include "PgDatabaseContainer.h"
|
||||
#include "PgAuthIdContainer.h"
|
||||
|
||||
DatabasesTableModel::DatabasesTableModel(QObject *parent)
|
||||
: QAbstractTableModel(parent)
|
||||
{
|
||||
}
|
||||
|
||||
void DatabasesTableModel::setDatabaseList(const PgDatabaseContainer* databases)
|
||||
void DatabasesTableModel::setDatabaseList(const PgsqlDatabaseCatalogue* cat)
|
||||
{
|
||||
beginResetModel();
|
||||
m_databases = databases;
|
||||
m_catalog = cat;
|
||||
m_databases = cat->databases();
|
||||
endResetModel();
|
||||
}
|
||||
|
||||
|
|
@ -87,7 +90,10 @@ QVariant DatabasesTableModel::data(const QModelIndex &index, int role) const
|
|||
break;
|
||||
case DbaCol:
|
||||
// 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;
|
||||
case EncodingCol:
|
||||
// todo lookup encoding name
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
#include <QAbstractTableModel>
|
||||
|
||||
class PgDatabaseContainer;
|
||||
class PgsqlDatabaseCatalogue;
|
||||
|
||||
/** Class for displaying the list of databases of a server in a QTableView
|
||||
*
|
||||
|
|
@ -21,7 +22,7 @@ public:
|
|||
|
||||
explicit DatabasesTableModel(QObject *parent);
|
||||
|
||||
void setDatabaseList(const PgDatabaseContainer* databases);
|
||||
void setDatabaseList(const PgsqlDatabaseCatalogue* cat);
|
||||
|
||||
// Header:
|
||||
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;
|
||||
|
||||
private:
|
||||
const PgsqlDatabaseCatalogue *m_catalog = 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()) {
|
||||
// event->accept();
|
||||
// }
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ void ServerWindow::setConfig(const ConnectionConfig &config)
|
|||
m_database = res.get();
|
||||
auto cat = m_database->catalogue();
|
||||
if (cat) {
|
||||
m_databasesModel->setDatabaseList(cat->databases());
|
||||
m_databasesModel->setDatabaseList(cat);
|
||||
m_rolesModel->setRoleList(cat->authIds());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue