Sequence and Function pages are now properly filtered on namespace.

This commit is contained in:
eelke 2019-02-09 20:37:34 +01:00
parent 7ca671a078
commit f2808de613
17 changed files with 136 additions and 48 deletions

View file

@ -37,6 +37,7 @@ CatalogFunctionsPage::CatalogFunctionsPage(QWidget *parent)
m_functionTable->setModel(m_sortFilterProxy);
m_functionTable->setSortingEnabled(true);
m_functionTable->setSelectionBehavior(QAbstractItemView::SelectRows);
m_functionTable->setSelectionMode(QAbstractItemView::SingleSelection);
connect(m_functionTable->selectionModel(), &QItemSelectionModel::currentRowChanged, this,
&CatalogFunctionsPage::functionTable_currentRowChanged);
@ -60,6 +61,11 @@ void CatalogFunctionsPage::setCatalog(std::shared_ptr<const PgDatabaseCatalog> c
m_functionTable->resizeColumnsToContents();
}
void CatalogFunctionsPage::setNamespaceFilter(NamespaceFilter filter)
{
m_model->setNamespaceFilter(filter);
}
void CatalogFunctionsPage::functionTable_currentRowChanged(const QModelIndex &current, const QModelIndex &previous)
{
if (current.row() != previous.row()) {

View file

@ -4,6 +4,7 @@
#include <QSplitter>
#include <memory>
#include <optional>
#include "NamespaceFilter.h"
class PgLabTableView;
class PgDatabaseCatalog;
@ -19,6 +20,7 @@ public:
explicit CatalogFunctionsPage(QWidget *parent = nullptr);
void setCatalog(std::shared_ptr<const PgDatabaseCatalog> cat);
void setNamespaceFilter(NamespaceFilter filter);
signals:
public slots:

View file

@ -24,6 +24,7 @@ CatalogSequencesPage::CatalogSequencesPage(QWidget *parent)
m_sequenceTable->setModel(m_sortFilterProxy);
m_sequenceTable->setSortingEnabled(true);
m_sequenceTable->setSelectionBehavior(QAbstractItemView::SelectRows);
m_sequenceTable->setSelectionMode(QAbstractItemView::SingleSelection);
connect(m_sequenceTable->selectionModel(), &QItemSelectionModel::currentRowChanged, this,
&CatalogSequencesPage::sequenceTable_currentRowChanged);
@ -42,6 +43,11 @@ void CatalogSequencesPage::setCatalog(std::shared_ptr<const PgDatabaseCatalog> c
m_sequenceTable->resizeColumnsToContents();
}
void CatalogSequencesPage::setNamespaceFilter(NamespaceFilter filter)
{
m_model->setNamespaceFilter(filter);
}
void CatalogSequencesPage::sequenceTable_currentRowChanged(const QModelIndex &current, const QModelIndex &previous)
{
if (current.row() != previous.row()) {

View file

@ -1,6 +1,7 @@
#ifndef SEQUENCESPAGES_H
#define SEQUENCESPAGES_H
#include "NamespaceFilter.h"
#include <QSplitter>
#include <memory>
#include <optional>
@ -18,6 +19,7 @@ public:
CatalogSequencesPage(QWidget *parent = nullptr);
void setCatalog(std::shared_ptr<const PgDatabaseCatalog> cat);
void setNamespaceFilter(NamespaceFilter filter);
public slots:
void sequenceTable_currentRowChanged(const QModelIndex &current, const QModelIndex &previous);

View file

@ -7,6 +7,7 @@
#include "PropertiesPage.h"
#include "ResultTableModelUtil.h"
#include "SqlCodePreview.h"
#include "TablesTableModel.h"
#include "TriggerPage.h"
#include "catalog/PgIndexContainer.h"
#include "catalog/PgTriggerContainer.h"
@ -101,7 +102,7 @@ void CatalogTablesPage::setCatalog(std::shared_ptr<PgDatabaseCatalog> cat)
m_triggerPage->setCatalog(cat);
}
void CatalogTablesPage::setNamespaceFilter(TablesTableModel::NamespaceFilter filter)
void CatalogTablesPage::setNamespaceFilter(NamespaceFilter filter)
{
m_tablesModel->setNamespaceFilter(filter);
}

View file

@ -1,9 +1,11 @@
#ifndef CATALOGTABLESPAGE_H
#define CATALOGTABLESPAGE_H
#include "NamespaceFilter.h"
#include <QSplitter>
#include <memory>
#include "TablesTableModel.h"
#include <optional>
#include <QAbstractItemModel>
class CatalogConstraintPage;
class CatalogIndexPage;
@ -27,7 +29,7 @@ public:
explicit CatalogTablesPage(QWidget * parent = nullptr);
void setCatalog(std::shared_ptr<PgDatabaseCatalog> cat);
void setNamespaceFilter(TablesTableModel::NamespaceFilter filter);
void setNamespaceFilter(NamespaceFilter filter);
void retranslateUi(bool all = true);
private: