mirror of
https://github.com/sqlitebrowser/sqlitebrowser.git
synced 2026-02-10 13:48:32 -06:00
Remove filter widgets when the table is empty
Instead of hiding them, which had some noticeable glitches. See comments in issue #2188.
This commit is contained in:
@@ -128,13 +128,3 @@ void FilterTableHeader::setFilter(size_t column, const QString& value)
|
||||
if(column < filterWidgets.size())
|
||||
filterWidgets.at(column)->setText(value);
|
||||
}
|
||||
|
||||
void FilterTableHeader::setFiltersVisible(bool visible)
|
||||
{
|
||||
// Loop through all widgets
|
||||
for(size_t i=0; i < filterWidgets.size(); ++i)
|
||||
{
|
||||
// Get the current widget, and set it visible or not
|
||||
filterWidgets.at(i)->setVisible(visible);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,7 +15,6 @@ public:
|
||||
explicit FilterTableHeader(QTableView* parent = nullptr);
|
||||
QSize sizeHint() const override;
|
||||
bool hasFilters() const {return (filterWidgets.size() > 0);}
|
||||
void setFiltersVisible(bool visible);
|
||||
|
||||
public slots:
|
||||
void generateFilters(size_t number, bool showFirst = false);
|
||||
|
||||
@@ -691,8 +691,16 @@ void TableBrowser::updateRecordsetLabel()
|
||||
enableEditing(m_model->rowCountAvailable() != SqliteTableModel::RowCount::Unknown && is_table_or_unlocked_view);
|
||||
|
||||
// Show filters unless the table is empty
|
||||
const bool filtersVisible = m_model->rowCount() > 0 || m_model->filterCount() != 0;
|
||||
qobject_cast<FilterTableHeader*>(ui->dataTable->horizontalHeader())->setFiltersVisible(filtersVisible);
|
||||
const bool needs_filters = total > 0 || m_model->filterCount() > 0;
|
||||
FilterTableHeader* header = qobject_cast<FilterTableHeader*>(ui->dataTable->horizontalHeader());
|
||||
if(header) {
|
||||
if(needs_filters && !header->hasFilters()) {
|
||||
generateFilters();
|
||||
ui->dataTable->adjustSize();
|
||||
} else if(!needs_filters && header->hasFilters()) {
|
||||
header->generateFilters(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sqlb::Query TableBrowser::buildQuery(const BrowseDataTableSettings& storedData, const sqlb::ObjectIdentifier& tablename) const
|
||||
|
||||
Reference in New Issue
Block a user