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 eed4b03d1..0f9b3d482 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,11 +11,13 @@ EdhrecCommanderApiResponseCardListDisplayWidget::EdhrecCommanderApiResponseCardL { layout = new QVBoxLayout(this); setLayout(layout); + setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); + setMinimumSize(0, 0); auto header = new QLabel(this); header->setText(toDisplay.header); - flowWidget = new FlowWidget(this, Qt::ScrollBarAlwaysOff, Qt::ScrollBarAlwaysOff); + flowWidget = new FlowWidget(this, Qt::ScrollBarAlwaysOff, Qt::ScrollBarAsNeeded); foreach (EdhrecCommanderApiResponseCardDetails card_detail, toDisplay.cardViews) { auto widget = new EdhrecCommanderApiResponseCardDetailsDisplayWidget(flowWidget, card_detail); diff --git a/cockatrice/src/client/tabs/api/edhrec/edhrec_commander_api_response_commander_details_display_widget.cpp b/cockatrice/src/client/tabs/api/edhrec/edhrec_commander_api_response_commander_details_display_widget.cpp index 72a671633..5ddbbaa32 100644 --- a/cockatrice/src/client/tabs/api/edhrec/edhrec_commander_api_response_commander_details_display_widget.cpp +++ b/cockatrice/src/client/tabs/api/edhrec/edhrec_commander_api_response_commander_details_display_widget.cpp @@ -13,6 +13,9 @@ EdhrecCommanderResponseCommanderDetailsDisplayWidget::EdhrecCommanderResponseCom layout = new QVBoxLayout(this); setLayout(layout); + setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); + setMinimumWidth(0); + auto commanderPicture = new CardInfoPictureWidget(this); commanderPicture->setCard(CardDatabaseManager::getInstance()->getCard(commanderDetails.getName())); 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 38441e782..006778365 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 @@ -5,6 +5,8 @@ #include "api_response/edhrec_commander_api_response.h" #include "edhrec_commander_api_response_card_list_display_widget.h" +#include + EdhrecCommanderApiResponseDisplayWidget::EdhrecCommanderApiResponseDisplayWidget(QWidget *parent, EdhrecCommanderApiResponse response) : QWidget(parent) @@ -12,14 +14,24 @@ EdhrecCommanderApiResponseDisplayWidget::EdhrecCommanderApiResponseDisplayWidget layout = new QVBoxLayout(this); setLayout(layout); + setMinimumSize(QSize(0, 0)); + setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); + layout->setAlignment(Qt::AlignHCenter); + auto commanderPicture = new CardInfoPictureWidget(this); commanderPicture->setCard( CardDatabaseManager::getInstance()->getCard(response.container.getCommanderDetails().getName())); - layout->addWidget(commanderPicture); + layout->addWidget(commanderPicture, 0, Qt::AlignHCenter); 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); + layout->addWidget(cardListDisplayWidget, 0, Qt::AlignHCenter); } +} + +void EdhrecCommanderApiResponseDisplayWidget::resizeEvent(QResizeEvent *event) +{ + QWidget::resizeEvent(event); + qDebug() << event->size(); } \ No newline at end of file diff --git a/cockatrice/src/client/tabs/api/edhrec/edhrec_commander_api_response_display_widget.h b/cockatrice/src/client/tabs/api/edhrec/edhrec_commander_api_response_display_widget.h index 3d61da5e2..a5f9612a6 100644 --- a/cockatrice/src/client/tabs/api/edhrec/edhrec_commander_api_response_display_widget.h +++ b/cockatrice/src/client/tabs/api/edhrec/edhrec_commander_api_response_display_widget.h @@ -12,6 +12,7 @@ class EdhrecCommanderApiResponseDisplayWidget : public QWidget public: explicit EdhrecCommanderApiResponseDisplayWidget(QWidget *parent, EdhrecCommanderApiResponse response); + void resizeEvent(QResizeEvent *event) override; private: QVBoxLayout *layout; diff --git a/cockatrice/src/client/tabs/api/edhrec/tab_edhrec.cpp b/cockatrice/src/client/tabs/api/edhrec/tab_edhrec.cpp index f4bb234e4..02b6b952c 100644 --- a/cockatrice/src/client/tabs/api/edhrec/tab_edhrec.cpp +++ b/cockatrice/src/client/tabs/api/edhrec/tab_edhrec.cpp @@ -14,14 +14,11 @@ TabEdhRec::TabEdhRec(TabSupervisor *_tabSupervisor) : Tab(_tabSupervisor) { setMinimumSize(0, 0); - container = new QWidget(this); - layout = new QHBoxLayout(this); - container->setLayout(layout); - setCentralWidget(container); - flowWidget = new FlowWidget(container, Qt::ScrollBarAlwaysOff, Qt::ScrollBarAsNeeded); - layout->addWidget(flowWidget); - networkManager = new QNetworkAccessManager(this); + + flowWidget = new FlowWidget(this, Qt::ScrollBarAlwaysOff, Qt::ScrollBarAsNeeded); + networkManager = new QNetworkAccessManager(this); + setCentralWidget(flowWidget); #if (QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)) networkManager->setTransferTimeout(); // Use Qt's default timeout #endif @@ -77,8 +74,8 @@ void TabEdhRec::processApiJson(QNetworkReply *reply) EdhrecCommanderApiResponse deckData; deckData.fromJson(jsonObj); - auto widget = new EdhrecCommanderApiResponseDisplayWidget(this, deckData); - flowWidget->addWidget(widget); + displayWidget = new EdhrecCommanderApiResponseDisplayWidget(flowWidget, deckData); + flowWidget->addWidget(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 109a82d12..3769d5731 100644 --- a/cockatrice/src/client/tabs/api/edhrec/tab_edhrec.h +++ b/cockatrice/src/client/tabs/api/edhrec/tab_edhrec.h @@ -4,6 +4,7 @@ #include "../../../../game/cards/card_database.h" #include "../../../ui/widgets/general/layout_containers/flow_widget.h" #include "../../tab.h" +#include "edhrec_commander_api_response_display_widget.h" #include #include @@ -29,10 +30,9 @@ public slots: void setCard(CardInfoPtr _cardToQuery); private: - QWidget *container; FlowWidget *flowWidget; - QHBoxLayout *layout; CardInfoPtr cardToQuery; + EdhrecCommanderApiResponseDisplayWidget *displayWidget; }; #endif // TAB_EDHREC_H diff --git a/cockatrice/src/client/ui/widgets/general/layout_containers/flow_widget.h b/cockatrice/src/client/ui/widgets/general/layout_containers/flow_widget.h index baed97b8d..99cd042f7 100644 --- a/cockatrice/src/client/ui/widgets/general/layout_containers/flow_widget.h +++ b/cockatrice/src/client/ui/widgets/general/layout_containers/flow_widget.h @@ -6,6 +6,11 @@ #include #include #include +#include + + +inline Q_LOGGING_CATEGORY(FlowWidgetLog, "flow_widget"); +inline Q_LOGGING_CATEGORY(FlowWidgetSizeLog, "flow_widget.size"); inline Q_LOGGING_CATEGORY(FlowWidgetLog, "flow_widget"); inline Q_LOGGING_CATEGORY(FlowWidgetSizeLog, "flow_widget.size"); diff --git a/cockatrice/src/settings/shortcut_treeview.cpp b/cockatrice/src/settings/shortcut_treeview.cpp index 02bc08164..0cf0d18f0 100644 --- a/cockatrice/src/settings/shortcut_treeview.cpp +++ b/cockatrice/src/settings/shortcut_treeview.cpp @@ -153,7 +153,7 @@ void ShortcutTreeView::updateSearchString(const QString &searchString) #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) const auto skipEmptyParts = Qt::SkipEmptyParts; #else - const auto skipEmptyParts = QString::SkipEmptyParts; + const auto skipEmptyParts = Qt::SkipEmptyParts; #endif QStringList searchWords = searchString.split(" ", skipEmptyParts);