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) {
case FilterMode::ExactMatch:
case FilterMode::IncludeExclude:
@ -136,8 +142,11 @@ void VisualDatabaseDisplayColorFilterWidget::updateFilterMode()
filterModel->clearFiltersOfType(CardFilter::Attr::AttrColor);
const QSet<QChar> selected = essencePicker->activeEssences();
for (const QChar essence : Essence::symbols()) {
handleColorToggled(essence, selected.contains(essence));
// No selections should never generate 15 mutually excluding filters.
if (!selected.isEmpty()) {
for (const QChar essence : Essence::symbols()) {
handleColorToggled(essence, selected.contains(essence));
}
}
filterModel->blockSignals(false);