mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-18 16:32:16 -07:00
A somewhat workable solution (that still doesn't downsize correctly)
This commit is contained in:
parent
14229666e3
commit
06099000c5
5 changed files with 26 additions and 11 deletions
|
|
@ -11,13 +11,13 @@ EdhrecCommanderApiResponseCardListDisplayWidget::EdhrecCommanderApiResponseCardL
|
||||||
{
|
{
|
||||||
layout = new QVBoxLayout(this);
|
layout = new QVBoxLayout(this);
|
||||||
setLayout(layout);
|
setLayout(layout);
|
||||||
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
|
||||||
setMinimumSize(0, 0);
|
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum);
|
||||||
|
|
||||||
auto header = new QLabel(this);
|
auto header = new QLabel(this);
|
||||||
header->setText(toDisplay.header);
|
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) {
|
foreach (EdhrecCommanderApiResponseCardDetails card_detail, toDisplay.cardViews) {
|
||||||
auto widget = new EdhrecCommanderApiResponseCardDetailsDisplayWidget(flowWidget, card_detail);
|
auto widget = new EdhrecCommanderApiResponseCardDetailsDisplayWidget(flowWidget, card_detail);
|
||||||
|
|
@ -27,3 +27,9 @@ EdhrecCommanderApiResponseCardListDisplayWidget::EdhrecCommanderApiResponseCardL
|
||||||
layout->addWidget(header);
|
layout->addWidget(header);
|
||||||
layout->addWidget(flowWidget);
|
layout->addWidget(flowWidget);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void EdhrecCommanderApiResponseCardListDisplayWidget::resizeEvent(QResizeEvent *event)
|
||||||
|
{
|
||||||
|
QWidget::resizeEvent(event);
|
||||||
|
qDebug() << event->size();
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@
|
||||||
#include "../../../ui/widgets/general/layout_containers/flow_widget.h"
|
#include "../../../ui/widgets/general/layout_containers/flow_widget.h"
|
||||||
#include "api_response/edhrec_commander_api_response_card_list.h"
|
#include "api_response/edhrec_commander_api_response_card_list.h"
|
||||||
|
|
||||||
|
#include <QResizeEvent>
|
||||||
#include <QVBoxLayout>
|
#include <QVBoxLayout>
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
|
|
||||||
|
|
@ -13,6 +14,7 @@ class EdhrecCommanderApiResponseCardListDisplayWidget : public QWidget
|
||||||
public:
|
public:
|
||||||
explicit EdhrecCommanderApiResponseCardListDisplayWidget(QWidget *parent,
|
explicit EdhrecCommanderApiResponseCardListDisplayWidget(QWidget *parent,
|
||||||
EdhrecCommanderApiResponseCardList toDisplay);
|
EdhrecCommanderApiResponseCardList toDisplay);
|
||||||
|
void resizeEvent(QResizeEvent *event) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QVBoxLayout *layout;
|
QVBoxLayout *layout;
|
||||||
|
|
|
||||||
|
|
@ -21,12 +21,12 @@ EdhrecCommanderApiResponseDisplayWidget::EdhrecCommanderApiResponseDisplayWidget
|
||||||
auto commanderPicture = new CardInfoPictureWidget(this);
|
auto commanderPicture = new CardInfoPictureWidget(this);
|
||||||
commanderPicture->setCard(
|
commanderPicture->setCard(
|
||||||
CardDatabaseManager::getInstance()->getCard(response.container.getCommanderDetails().getName()));
|
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();
|
auto edhrec_commander_api_response_card_lists = response.container.getCardlists();
|
||||||
foreach (EdhrecCommanderApiResponseCardList card_list, edhrec_commander_api_response_card_lists) {
|
foreach (EdhrecCommanderApiResponseCardList card_list, edhrec_commander_api_response_card_lists) {
|
||||||
auto cardListDisplayWidget = new EdhrecCommanderApiResponseCardListDisplayWidget(this, card_list);
|
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);
|
QWidget::resizeEvent(event);
|
||||||
qDebug() << event->size();
|
qDebug() << event->size();
|
||||||
|
layout->invalidate();
|
||||||
|
layout->activate();
|
||||||
|
layout->update();
|
||||||
}
|
}
|
||||||
|
|
@ -15,10 +15,13 @@ TabEdhRec::TabEdhRec(TabSupervisor *_tabSupervisor) : Tab(_tabSupervisor)
|
||||||
{
|
{
|
||||||
setMinimumSize(0, 0);
|
setMinimumSize(0, 0);
|
||||||
|
|
||||||
|
scrollArea = new QScrollArea();
|
||||||
flowWidget = new FlowWidget(this, Qt::ScrollBarAlwaysOff, Qt::ScrollBarAsNeeded);
|
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);
|
networkManager = new QNetworkAccessManager(this);
|
||||||
setCentralWidget(flowWidget);
|
setCentralWidget(scrollArea);
|
||||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 15, 0))
|
#if (QT_VERSION >= QT_VERSION_CHECK(5, 15, 0))
|
||||||
networkManager->setTransferTimeout(); // Use Qt's default timeout
|
networkManager->setTransferTimeout(); // Use Qt's default timeout
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -74,8 +77,9 @@ void TabEdhRec::processApiJson(QNetworkReply *reply)
|
||||||
EdhrecCommanderApiResponse deckData;
|
EdhrecCommanderApiResponse deckData;
|
||||||
deckData.fromJson(jsonObj);
|
deckData.fromJson(jsonObj);
|
||||||
|
|
||||||
displayWidget = new EdhrecCommanderApiResponseDisplayWidget(flowWidget, deckData);
|
displayWidget = new EdhrecCommanderApiResponseDisplayWidget(this, deckData);
|
||||||
flowWidget->addWidget(displayWidget);
|
// flowWidget->addWidget(displayWidget);
|
||||||
|
scrollArea->setWidget(displayWidget);
|
||||||
|
|
||||||
reply->deleteLater();
|
reply->deleteLater();
|
||||||
update();
|
update();
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ public slots:
|
||||||
void setCard(CardInfoPtr _cardToQuery);
|
void setCard(CardInfoPtr _cardToQuery);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
FlowWidget *flowWidget;
|
QScrollArea *scrollArea;
|
||||||
CardInfoPtr cardToQuery;
|
CardInfoPtr cardToQuery;
|
||||||
EdhrecCommanderApiResponseDisplayWidget *displayWidget;
|
EdhrecCommanderApiResponseDisplayWidget *displayWidget;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue