diff --git a/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_color_filter_widget.cpp b/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_color_filter_widget.cpp index bbd7aa607..1cab0ac0e 100644 --- a/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_color_filter_widget.cpp +++ b/cockatrice/src/interface/widgets/visual_database_display/visual_database_display_color_filter_widget.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -24,12 +25,20 @@ VisualDatabaseDisplayColorFilterWidget::VisualDatabaseDisplayColorFilterWidget(Q // A 15-icon horizontal row cannot fit the database filter toolbar. essencePicker = new EssenceFilterPicker(this); layout->addWidget(essencePicker); + // FlowWidget measures THIS parent widget, not its nested button. Give it + // an explicit size hint that cannot clip the picker. + setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Preferred); + setMinimumWidth(essencePicker->width()); connect(essencePicker, &EssenceFilterPicker::essenceToggled, this, &VisualDatabaseDisplayColorFilterWidget::handleColorToggled); + connect(essencePicker, &EssenceFilterPicker::selectionCleared, this, [this]() { + filterModel->clearFiltersOfType(CardFilter::Attr::AttrColor); + }); + modeComboBox = new QComboBox(this); - layout->addWidget(modeComboBox); + essencePicker->addPopupControl(modeComboBox); connect(modeComboBox, QOverload::of(&QComboBox::currentIndexChanged), this, &VisualDatabaseDisplayColorFilterWidget::updateFilterMode);