From bd197ecf56964c42ead764818b5efa81d5777064 Mon Sep 17 00:00:00 2001 From: Christian Daniel Jensen Date: Mon, 2 Nov 2026 05:53:35 -0700 Subject: [PATCH] Update Essence statistics, filters and distribution panels for all fifteen symbols --- .../mana_distribution_widget.cpp | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/cockatrice/src/interface/widgets/deck_analytics/analyzer_modules/mana_distribution/mana_distribution_widget.cpp b/cockatrice/src/interface/widgets/deck_analytics/analyzer_modules/mana_distribution/mana_distribution_widget.cpp index 5543c64df..ae81462f9 100644 --- a/cockatrice/src/interface/widgets/deck_analytics/analyzer_modules/mana_distribution/mana_distribution_widget.cpp +++ b/cockatrice/src/interface/widgets/deck_analytics/analyzer_modules/mana_distribution/mana_distribution_widget.cpp @@ -14,18 +14,25 @@ #include #include #include +#include #include #include namespace { AnalyticsPanelWidgetRegistrar registerManaDistribution{ - "manaProdDevotion", ManaDistributionWidget::tr("Mana Production + Devotion"), + "manaProdDevotion", ManaDistributionWidget::tr("Essence Production + Costs"), [](QWidget *parent, DeckListStatisticsAnalyzer *analyzer) { return new ManaDistributionWidget(parent, analyzer); }}; } // anonymous namespace -static const QStringList kColors = {"W", "U", "B", "R", "G", "C"}; +static const QStringList kEssences = [] { + QStringList codes; + for (const QChar symbol : Essence::symbols()) { + codes.append(QString(symbol)); + } + return codes; +}(); ManaDistributionWidget::ManaDistributionWidget(QWidget *parent, DeckListStatisticsAnalyzer *analyzer) : AbstractAnalyticsPanelWidget(parent, analyzer) @@ -49,7 +56,7 @@ ManaDistributionWidget::ManaDistributionWidget(QWidget *parent, DeckListStatisti row = new QHBoxLayout(); containerLayout->addLayout(row); - for (const QString &c : kColors) { + for (const QString &c : kEssences) { auto *w = new ManaDistributionSingleDisplayWidget(c, this); row->addWidget(w); rows[c] = w; @@ -65,7 +72,7 @@ void ManaDistributionWidget::updateDisplay() const auto &prodPips = analyzer->getProductionPipCount(); const auto &prodCards = analyzer->getProductionCardCount(); - QStringList filtered = config.filters.isEmpty() ? kColors : config.filters; + QStringList filtered = config.filters.isEmpty() ? kEssences : config.filters; QMap devMap, prodMap; for (const QString &c : filtered) { @@ -89,7 +96,7 @@ void ManaDistributionWidget::updateDisplay() productionBarTop->setColors(prodMap); } - for (const QString &c : kColors) { + for (const QString &c : kEssences) { auto *w = rows.value(c); if (!w) { @@ -126,7 +133,7 @@ void ManaDistributionWidget::updateDisplay() QDialog *ManaDistributionWidget::createConfigDialog(QWidget *parent) { auto *dlg = new ManaDistributionConfigDialog(analyzer, parent); - dlg->setWindowTitle(tr("Mana Distribution Settings")); + dlg->setWindowTitle(tr("Essence Distribution Settings")); dlg->setFromConfig(config); connect(dlg, &QDialog::accepted, [this, dlg]() {