Index page now correctly responds to reload.

This commit is contained in:
eelke 2019-10-06 14:03:46 +02:00
parent 60d8f36328
commit fa46971930
3 changed files with 17 additions and 5 deletions

View file

@ -6,14 +6,22 @@
#include "CustomDataRole.h"
void IndexModel::setData(std::shared_ptr<const PgDatabaseCatalog> cat, const std::optional<PgClass> &table)
{
if (cat != m_catalog) {
m_catalog = cat;
refreshConnection = connect(m_catalog.get(), &PgDatabaseCatalog::refreshed, this, &IndexModel::refresh);
}
m_table = table;
refresh();
}
void IndexModel::refresh()
{
beginResetModel();
SCOPE_EXIT { endResetModel(); };
m_catalog = cat;
m_table = table;
if (table)
m_indexes = cat->indexes()->getIndexesForTable(table->oid());
if (m_table)
m_indexes = m_catalog->indexes()->getIndexesForTable(m_table->oid());
else
m_indexes.clear();
}