Messy commit. Testing suff and some improvements to how data is shown.
This commit is contained in:
parent
bebb3391c3
commit
3a13b7ffb4
59 changed files with 2045 additions and 716 deletions
|
|
@ -1,10 +1,13 @@
|
|||
#include "DatabasesTableModel.h"
|
||||
#include "DatabasesTableModel.h"
|
||||
#include "PgDatabaseCatalogue.h"
|
||||
#include "PgDatabaseContainer.h"
|
||||
#include "PgAuthIdContainer.h"
|
||||
#include "ResultTableModelUtil.h"
|
||||
|
||||
using namespace Pgsql;
|
||||
|
||||
DatabasesTableModel::DatabasesTableModel(QObject *parent)
|
||||
: QAbstractTableModel(parent)
|
||||
: BaseTableModel(parent)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
@ -59,7 +62,7 @@ QVariant DatabasesTableModel::headerData(int section, Qt::Orientation orientatio
|
|||
return v;
|
||||
}
|
||||
|
||||
int DatabasesTableModel::rowCount(const QModelIndex &parent) const
|
||||
int DatabasesTableModel::rowCount(const QModelIndex &) const
|
||||
{
|
||||
int result = 0;
|
||||
if (m_databases) {
|
||||
|
|
@ -68,62 +71,79 @@ int DatabasesTableModel::rowCount(const QModelIndex &parent) const
|
|||
return result;
|
||||
}
|
||||
|
||||
int DatabasesTableModel::columnCount(const QModelIndex &parent) const
|
||||
int DatabasesTableModel::columnCount(const QModelIndex &) const
|
||||
{
|
||||
int result = 10;
|
||||
// if (parent.isValid())
|
||||
// return 10;
|
||||
int result = COL_COUNT;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
QVariant DatabasesTableModel::data(const QModelIndex &index, int role) const
|
||||
Oid DatabasesTableModel::getType(int column) const
|
||||
{
|
||||
Oid oid;
|
||||
switch (column) {
|
||||
case AllowConnCol:
|
||||
case IsTemplateCol:
|
||||
oid = BOOLOID;
|
||||
break;
|
||||
case ConnLimitCol:
|
||||
oid = INT4OID;
|
||||
break;
|
||||
case AclCol:
|
||||
case CollateCol:
|
||||
case CTypeCol:
|
||||
case EncodingCol:
|
||||
case DbaCol:
|
||||
case NameCol:
|
||||
case TablespaceCol:
|
||||
oid = VARCHAROID;
|
||||
break;
|
||||
default:
|
||||
oid = InvalidOid;
|
||||
}
|
||||
return oid;
|
||||
}
|
||||
|
||||
QVariant DatabasesTableModel::getData(const QModelIndex &index) const
|
||||
{
|
||||
QVariant v;
|
||||
//if (!index.isValid())
|
||||
if (m_databases) {
|
||||
const PgDatabase &db = m_databases->getByIdx(index.row());
|
||||
if (role == Qt::DisplayRole) {
|
||||
switch (index.column()) {
|
||||
case NameCol:
|
||||
v = db.name;
|
||||
break;
|
||||
case DbaCol:
|
||||
// todo lookup role name
|
||||
{
|
||||
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
|
||||
v = db.encoding;
|
||||
break;
|
||||
case CollateCol:
|
||||
v = db.collate;
|
||||
break;
|
||||
case CTypeCol:
|
||||
v = db.ctype;
|
||||
break;
|
||||
case IsTemplateCol:
|
||||
v = db.isTemplate;
|
||||
break;
|
||||
case AllowConnCol:
|
||||
v = db.allowConn;
|
||||
break;
|
||||
case ConnLimitCol:
|
||||
v = db.connLimit;
|
||||
break;
|
||||
case TablespaceCol:
|
||||
// todo lookup tablespace name
|
||||
v = db.tablespace;
|
||||
break;
|
||||
case AclCol:
|
||||
v = db.acl;
|
||||
break;
|
||||
}
|
||||
switch (index.column()) {
|
||||
case NameCol:
|
||||
v = db.name;
|
||||
break;
|
||||
case DbaCol:
|
||||
v = getRoleDisplayString(m_catalog, db.dba);
|
||||
break;
|
||||
case EncodingCol:
|
||||
// todo lookup encoding name
|
||||
v = db.encoding;
|
||||
break;
|
||||
case CollateCol:
|
||||
v = db.collate;
|
||||
break;
|
||||
case CTypeCol:
|
||||
v = db.ctype;
|
||||
break;
|
||||
case IsTemplateCol:
|
||||
v = db.isTemplate;
|
||||
break;
|
||||
case AllowConnCol:
|
||||
v = db.allowConn;
|
||||
break;
|
||||
case ConnLimitCol:
|
||||
v = db.connLimit;
|
||||
break;
|
||||
case TablespaceCol:
|
||||
// todo lookup tablespace name
|
||||
v = db.tablespace;
|
||||
break;
|
||||
case AclCol:
|
||||
v = db.acl;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return v;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue