From bddb54ef4cd3fa2e38862d9704663ad37bafb02d Mon Sep 17 00:00:00 2001 From: BruebachL <44814898+BruebachL@users.noreply.github.com> Date: Wed, 7 May 2025 03:24:24 +0200 Subject: [PATCH] [VDE] Deck analytics visibility (#5919) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add scrollArea, I guess. * Set mana curve bar color to grey for visibility. --------- Co-authored-by: Lukas BrĂ¼bach --- .../deck_analytics/deck_analytics_widget.cpp | 17 ++++++++++++++--- .../deck_analytics/deck_analytics_widget.h | 8 +++++++- .../deck_analytics/mana_curve_widget.cpp | 2 +- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/cockatrice/src/client/ui/widgets/deck_analytics/deck_analytics_widget.cpp b/cockatrice/src/client/ui/widgets/deck_analytics/deck_analytics_widget.cpp index 02a4bfb5a..2131700fd 100644 --- a/cockatrice/src/client/ui/widgets/deck_analytics/deck_analytics_widget.cpp +++ b/cockatrice/src/client/ui/widgets/deck_analytics/deck_analytics_widget.cpp @@ -6,14 +6,25 @@ DeckAnalyticsWidget::DeckAnalyticsWidget(QWidget *parent, DeckListModel *_deckLi mainLayout = new QVBoxLayout(); setLayout(mainLayout); + scrollArea = new QScrollArea(this); + scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); + scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + scrollArea->setWidgetResizable(true); + mainLayout->addWidget(scrollArea); + + container = new QWidget(scrollArea); + containerLayout = new QVBoxLayout(container); + container->setLayout(containerLayout); + scrollArea->setWidget(container); + manaCurveWidget = new ManaCurveWidget(this, deckListModel); - mainLayout->addWidget(manaCurveWidget); + containerLayout->addWidget(manaCurveWidget); manaDevotionWidget = new ManaDevotionWidget(this, deckListModel); - mainLayout->addWidget(manaDevotionWidget); + containerLayout->addWidget(manaDevotionWidget); manaBaseWidget = new ManaBaseWidget(this, deckListModel); - mainLayout->addWidget(manaBaseWidget); + containerLayout->addWidget(manaBaseWidget); } void DeckAnalyticsWidget::refreshDisplays(DeckListModel *_deckModel) diff --git a/cockatrice/src/client/ui/widgets/deck_analytics/deck_analytics_widget.h b/cockatrice/src/client/ui/widgets/deck_analytics/deck_analytics_widget.h index 6e7a273cf..b379b435c 100644 --- a/cockatrice/src/client/ui/widgets/deck_analytics/deck_analytics_widget.h +++ b/cockatrice/src/client/ui/widgets/deck_analytics/deck_analytics_widget.h @@ -8,9 +8,10 @@ #include "mana_devotion_widget.h" #include +#include +#include #include #include -#include class DeckAnalyticsWidget : public QWidget { @@ -26,6 +27,11 @@ private: DeckListModel *deckListModel; QVBoxLayout *mainLayout; + QWidget *container; + QVBoxLayout *containerLayout; + + QScrollArea *scrollArea; + ManaCurveWidget *manaCurveWidget; ManaDevotionWidget *manaDevotionWidget; ManaBaseWidget *manaBaseWidget; diff --git a/cockatrice/src/client/ui/widgets/deck_analytics/mana_curve_widget.cpp b/cockatrice/src/client/ui/widgets/deck_analytics/mana_curve_widget.cpp index acf240e0e..1cef0d794 100644 --- a/cockatrice/src/client/ui/widgets/deck_analytics/mana_curve_widget.cpp +++ b/cockatrice/src/client/ui/widgets/deck_analytics/mana_curve_widget.cpp @@ -91,7 +91,7 @@ void ManaCurveWidget::updateDisplay() // Add new widgets to the layout in sorted order for (const auto &entry : sortedManaCurve) { BarWidget *barWidget = - new BarWidget(QString::number(entry.first), entry.second, highestEntry, QColor(11, 11, 11), this); + new BarWidget(QString::number(entry.first), entry.second, highestEntry, QColor(122, 122, 122), this); barLayout->addWidget(barWidget); }