diff --git a/cockatrice/src/client/tabs/api/edhrec/edhrec_commander_api_response_card_list_display_widget.cpp b/cockatrice/src/client/tabs/api/edhrec/edhrec_commander_api_response_card_list_display_widget.cpp index 0f9b3d482..d3a25e7f9 100644 --- a/cockatrice/src/client/tabs/api/edhrec/edhrec_commander_api_response_card_list_display_widget.cpp +++ b/cockatrice/src/client/tabs/api/edhrec/edhrec_commander_api_response_card_list_display_widget.cpp @@ -11,13 +11,13 @@ EdhrecCommanderApiResponseCardListDisplayWidget::EdhrecCommanderApiResponseCardL { layout = new QVBoxLayout(this); setLayout(layout); - setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); - setMinimumSize(0, 0); + + setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum); auto header = new QLabel(this); header->setText(toDisplay.header); - flowWidget = new FlowWidget(this, Qt::ScrollBarAlwaysOff, Qt::ScrollBarAsNeeded); + flowWidget = new FlowWidget(this, Qt::Horizontal, Qt::ScrollBarAlwaysOff, Qt::ScrollBarAlwaysOff); foreach (EdhrecCommanderApiResponseCardDetails card_detail, toDisplay.cardViews) { auto widget = new EdhrecCommanderApiResponseCardDetailsDisplayWidget(flowWidget, card_detail); @@ -27,3 +27,9 @@ EdhrecCommanderApiResponseCardListDisplayWidget::EdhrecCommanderApiResponseCardL layout->addWidget(header); layout->addWidget(flowWidget); } + +void EdhrecCommanderApiResponseCardListDisplayWidget::resizeEvent(QResizeEvent *event) +{ + QWidget::resizeEvent(event); + qDebug() << event->size(); +} diff --git a/cockatrice/src/client/tabs/api/edhrec/edhrec_commander_api_response_card_list_display_widget.h b/cockatrice/src/client/tabs/api/edhrec/edhrec_commander_api_response_card_list_display_widget.h index 4efb9bf32..41b846f1f 100644 --- a/cockatrice/src/client/tabs/api/edhrec/edhrec_commander_api_response_card_list_display_widget.h +++ b/cockatrice/src/client/tabs/api/edhrec/edhrec_commander_api_response_card_list_display_widget.h @@ -4,6 +4,7 @@ #include "../../../ui/widgets/general/layout_containers/flow_widget.h" #include "api_response/edhrec_commander_api_response_card_list.h" +#include #include #include @@ -13,6 +14,7 @@ class EdhrecCommanderApiResponseCardListDisplayWidget : public QWidget public: explicit EdhrecCommanderApiResponseCardListDisplayWidget(QWidget *parent, EdhrecCommanderApiResponseCardList toDisplay); + void resizeEvent(QResizeEvent *event) override; private: QVBoxLayout *layout; diff --git a/cockatrice/src/client/tabs/api/edhrec/edhrec_commander_api_response_display_widget.cpp b/cockatrice/src/client/tabs/api/edhrec/edhrec_commander_api_response_display_widget.cpp index 006778365..d7850d1a1 100644 --- a/cockatrice/src/client/tabs/api/edhrec/edhrec_commander_api_response_display_widget.cpp +++ b/cockatrice/src/client/tabs/api/edhrec/edhrec_commander_api_response_display_widget.cpp @@ -21,12 +21,12 @@ EdhrecCommanderApiResponseDisplayWidget::EdhrecCommanderApiResponseDisplayWidget auto commanderPicture = new CardInfoPictureWidget(this); commanderPicture->setCard( CardDatabaseManager::getInstance()->getCard(response.container.getCommanderDetails().getName())); - layout->addWidget(commanderPicture, 0, Qt::AlignHCenter); + layout->addWidget(commanderPicture); auto edhrec_commander_api_response_card_lists = response.container.getCardlists(); foreach (EdhrecCommanderApiResponseCardList card_list, edhrec_commander_api_response_card_lists) { auto cardListDisplayWidget = new EdhrecCommanderApiResponseCardListDisplayWidget(this, card_list); - layout->addWidget(cardListDisplayWidget, 0, Qt::AlignHCenter); + layout->addWidget(cardListDisplayWidget); } } @@ -34,4 +34,7 @@ void EdhrecCommanderApiResponseDisplayWidget::resizeEvent(QResizeEvent *event) { QWidget::resizeEvent(event); qDebug() << event->size(); + layout->invalidate(); + layout->activate(); + layout->update(); } \ No newline at end of file diff --git a/cockatrice/src/client/tabs/api/edhrec/tab_edhrec.cpp b/cockatrice/src/client/tabs/api/edhrec/tab_edhrec.cpp index 02b6b952c..5b6859b45 100644 --- a/cockatrice/src/client/tabs/api/edhrec/tab_edhrec.cpp +++ b/cockatrice/src/client/tabs/api/edhrec/tab_edhrec.cpp @@ -15,10 +15,13 @@ TabEdhRec::TabEdhRec(TabSupervisor *_tabSupervisor) : Tab(_tabSupervisor) { setMinimumSize(0, 0); - - flowWidget = new FlowWidget(this, Qt::ScrollBarAlwaysOff, Qt::ScrollBarAsNeeded); + scrollArea = new QScrollArea(); + scrollArea->setWidgetResizable(true); + scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); + scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + // flowWidget = new FlowWidget(this, Qt::Vertical, Qt::ScrollBarAlwaysOff, Qt::ScrollBarAsNeeded); networkManager = new QNetworkAccessManager(this); - setCentralWidget(flowWidget); + setCentralWidget(scrollArea); #if (QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)) networkManager->setTransferTimeout(); // Use Qt's default timeout #endif @@ -74,8 +77,9 @@ void TabEdhRec::processApiJson(QNetworkReply *reply) EdhrecCommanderApiResponse deckData; deckData.fromJson(jsonObj); - displayWidget = new EdhrecCommanderApiResponseDisplayWidget(flowWidget, deckData); - flowWidget->addWidget(displayWidget); + displayWidget = new EdhrecCommanderApiResponseDisplayWidget(this, deckData); + // flowWidget->addWidget(displayWidget); + scrollArea->setWidget(displayWidget); reply->deleteLater(); update(); diff --git a/cockatrice/src/client/tabs/api/edhrec/tab_edhrec.h b/cockatrice/src/client/tabs/api/edhrec/tab_edhrec.h index 3769d5731..c2af8283f 100644 --- a/cockatrice/src/client/tabs/api/edhrec/tab_edhrec.h +++ b/cockatrice/src/client/tabs/api/edhrec/tab_edhrec.h @@ -30,7 +30,7 @@ public slots: void setCard(CardInfoPtr _cardToQuery); private: - FlowWidget *flowWidget; + QScrollArea *scrollArea; CardInfoPtr cardToQuery; EdhrecCommanderApiResponseDisplayWidget *displayWidget; };