Updating of detail tabs besides list of tables works correctly again.
Had stopped working because the catalog now behaves a little different, returning nullptr instead of an invalid element.
This commit is contained in:
parent
fcb191f2cc
commit
52011a9842
12 changed files with 114 additions and 92 deletions
|
|
@ -139,8 +139,12 @@ void TablesPage::setCatalog(std::shared_ptr<PgDatabaseCatalog> cat)
|
|||
void TablesPage::tableListTable_currentRowChanged(const QModelIndex ¤t, const QModelIndex &previous)
|
||||
{
|
||||
if (current.row() != previous.row()) {
|
||||
PgClass table = m_tablesModel->getTable(current.row());
|
||||
selectedTableChanged(table);
|
||||
if (current.isValid()) {
|
||||
PgClass table = m_tablesModel->getTable(current.row());
|
||||
selectedTableChanged(table);
|
||||
}
|
||||
else
|
||||
selectedTableChanged({});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -148,12 +152,16 @@ void TablesPage::tableListTable_currentRowChanged(const QModelIndex ¤t, co
|
|||
void TablesPage::tableListTable_layoutChanged(const QList<QPersistentModelIndex> &, QAbstractItemModel::LayoutChangeHint )
|
||||
{
|
||||
auto&& index = ui->tableListTable->selectionModel()->currentIndex();
|
||||
PgClass table = m_tablesModel->getTable(index.row());
|
||||
selectedTableChanged(table);
|
||||
if (index.isValid()) {
|
||||
PgClass table = m_tablesModel->getTable(index.row());
|
||||
selectedTableChanged(table);
|
||||
}
|
||||
else
|
||||
selectedTableChanged({});
|
||||
}
|
||||
|
||||
|
||||
void TablesPage::selectedTableChanged(const PgClass & table)
|
||||
void TablesPage::selectedTableChanged(const std::optional<PgClass> &table)
|
||||
{
|
||||
m_columnsModel->setData(m_catalog, table);
|
||||
ui->columnsTable->resizeColumnsToContents();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue