Resolve "reload catalog" #84

Merged
eelke merged 7 commits from 64-reload-catalog into master 2019-10-09 17:48:53 +00:00
3 changed files with 12 additions and 5 deletions
Showing only changes of commit 39d1a2a00f - Show all commits

View file

@ -32,17 +32,21 @@ QVariant SequenceModel::headerData(int section, Qt::Orientation orientation, int
void SequenceModel::setCatalog(std::shared_ptr<const PgDatabaseCatalog> cat)
{
m_catalog = cat;
reloadData();
if (cat != m_catalog) {
m_catalog = cat;
refreshConnection = connect(m_catalog.get(), &PgDatabaseCatalog::refreshed,
this, &SequenceModel::refresh);
}
refresh();
}
void SequenceModel::setNamespaceFilter(NamespaceFilter filter)
{
m_namespaceFilter = filter;
reloadData();
refresh();
}
void SequenceModel::reloadData()
void SequenceModel::refresh()
{
if (!m_catalog)
return;

View file

@ -45,8 +45,9 @@ private:
std::shared_ptr<const PgDatabaseCatalog> m_catalog;
std::vector<PgSequence> m_sequences;
NamespaceFilter m_namespaceFilter = NamespaceFilter::User;
QMetaObject::Connection refreshConnection;
void reloadData();
void refresh();
};
#endif // SEQUENCEMODEL_H

View file

@ -28,6 +28,8 @@ CatalogSequencesPage::CatalogSequencesPage(QWidget *parent)
connect(m_sequenceTable->selectionModel(), &QItemSelectionModel::currentRowChanged, this,
&CatalogSequencesPage::sequenceTable_currentRowChanged);
connect(m_model, &SequenceModel::modelReset,
[this] () { selectedSequenceChanged({}); });
retranslateUi();
}