Fix empty catalogue loaded state and compact Essence selection behavior

This commit is contained in:
Christian Daniel Jensen 2026-11-03 12:43:37 -07:00
parent a7222c92f9
commit 5ebf12977d

View file

@ -110,6 +110,12 @@ void VisualDatabaseDisplayColorFilterWidget::removeFilter(QChar essence)
} }
} }
// The empty selection means "Any Essence", not "exclude everything".
if (essencePicker->activeEssences().isEmpty()) {
filterModel->clearFiltersOfType(CardFilter::Attr::AttrColor);
return;
}
switch (currentMode) { switch (currentMode) {
case FilterMode::ExactMatch: case FilterMode::ExactMatch:
case FilterMode::IncludeExclude: case FilterMode::IncludeExclude:
@ -136,8 +142,11 @@ void VisualDatabaseDisplayColorFilterWidget::updateFilterMode()
filterModel->clearFiltersOfType(CardFilter::Attr::AttrColor); filterModel->clearFiltersOfType(CardFilter::Attr::AttrColor);
const QSet<QChar> selected = essencePicker->activeEssences(); const QSet<QChar> selected = essencePicker->activeEssences();
for (const QChar essence : Essence::symbols()) { // No selections should never generate 15 mutually excluding filters.
handleColorToggled(essence, selected.contains(essence)); if (!selected.isEmpty()) {
for (const QChar essence : Essence::symbols()) {
handleColorToggled(essence, selected.contains(essence));
}
} }
filterModel->blockSignals(false); filterModel->blockSignals(false);