Improvement to the ServerWindow

- sorting of Roles
- resizeColumns voor zowel databases als roles
- boolean columns now display check mark and cross
This commit is contained in:
eelke 2021-03-31 16:06:45 +02:00
parent a3ba4d7c98
commit 9c9e78c54b
8 changed files with 71 additions and 44 deletions

View file

@ -1,4 +1,6 @@
#include "DatabasesTableModel.h"
#include "CustomDataRole.h"
#include "ScopeGuard.h"
#include "catalog/PgDatabaseCatalog.h"
#include "catalog/PgDatabaseContainer.h"
#include "catalog/PgAuthIdContainer.h"
@ -14,9 +16,10 @@ DatabasesTableModel::DatabasesTableModel(QObject *parent)
void DatabasesTableModel::setDatabaseList(std::shared_ptr<const PgDatabaseCatalog> cat)
{
beginResetModel();
SCOPE_EXIT { endResetModel(); };
m_catalog = cat;
m_databases = cat->databases();
endResetModel();
}
QVariant DatabasesTableModel::headerData(int section, Qt::Orientation orientation, int role) const
@ -90,13 +93,13 @@ Oid DatabasesTableModel::getType(int column) const
switch (column) {
case AllowConnCol:
case IsTemplateCol:
oid = bool_oid;
oid = Pgsql::bool_oid;
break;
case ConnLimitCol:
oid = int4_oid;
oid = Pgsql::int4_oid;
break;
case SizeCol:
oid = int8_oid;
oid = Pgsql::int8_oid;
break;
case AclCol:
case CollateCol:
@ -106,10 +109,10 @@ Oid DatabasesTableModel::getType(int column) const
case NameCol:
case TablespaceCol:
case CommentCol:
oid = varchar_oid;
oid = Pgsql::varchar_oid;
break;
default:
oid = InvalidOid;
oid = InvalidOid;
}
return oid;
}
@ -163,3 +166,11 @@ QVariant DatabasesTableModel::getData(const QModelIndex &index) const
}
return v;
}
QVariant DatabasesTableModel::getDataMeaning(const QModelIndex &index) const
{
if (index.column() == SizeCol)
return static_cast<int>(DataMeaningBytes);
return BaseTableModel::getDataMeaning(index);
}