Add a card price display widget.

This commit is contained in:
Lukas Brübach 2025-04-18 01:20:30 +02:00
parent 872cf5dfc4
commit 3479bac493
6 changed files with 125 additions and 10 deletions

View file

@ -22,6 +22,7 @@ set(cockatrice_SOURCES
src/client/tabs/api/edhrec/tab_edhrec_main.cpp src/client/tabs/api/edhrec/tab_edhrec_main.cpp
src/client/tabs/api/edhrec/display/commander/edhrec_commander_api_response_display_widget.cpp src/client/tabs/api/edhrec/display/commander/edhrec_commander_api_response_display_widget.cpp
src/client/tabs/api/edhrec/display/commander/edhrec_commander_api_response_navigation_widget.cpp src/client/tabs/api/edhrec/display/commander/edhrec_commander_api_response_navigation_widget.cpp
src/client/tabs/api/edhrec/display/card_prices/edhrec_api_response_card_prices_display_widget.cpp
src/client/tabs/api/edhrec/display/cards/edhrec_api_response_card_details_display_widget.cpp src/client/tabs/api/edhrec/display/cards/edhrec_api_response_card_details_display_widget.cpp
src/client/tabs/api/edhrec/display/cards/edhrec_api_response_card_list_display_widget.cpp src/client/tabs/api/edhrec/display/cards/edhrec_api_response_card_list_display_widget.cpp
src/client/tabs/api/edhrec/display/commander/edhrec_api_response_commander_details_display_widget.cpp src/client/tabs/api/edhrec/display/commander/edhrec_api_response_commander_details_display_widget.cpp

View file

@ -18,14 +18,14 @@ void CardPrices::fromJson(const QJsonObject &json)
void CardPrices::debugPrint() const void CardPrices::debugPrint() const
{ {
qDebug() << "Card Prices:"; qInfo() << "Card Prices:";
qDebug() << "Cardhoarder:" << cardhoarder; qInfo() << "Cardhoarder:" << cardhoarder;
qDebug() << "Cardkingdom:" << cardkingdom; qInfo() << "Cardkingdom:" << cardkingdom;
qDebug() << "Cardmarket:" << cardmarket; qInfo() << "Cardmarket:" << cardmarket;
qDebug() << "Face2Face:" << face2face; qInfo() << "Face2Face:" << face2face;
qDebug() << "Manapool:" << manapool; qInfo() << "Manapool:" << manapool;
qDebug() << "Mtgstocks:" << mtgstocks; qInfo() << "Mtgstocks:" << mtgstocks;
qDebug() << "SCG:" << scg; qInfo() << "SCG:" << scg;
qDebug() << "TCGL:" << tcgl; qInfo() << "TCGL:" << tcgl;
qDebug() << "Tcgplayer:" << tcgplayer; qInfo() << "Tcgplayer:" << tcgplayer;
} }

View file

@ -0,0 +1,66 @@
#include "edhrec_api_response_card_prices_display_widget.h"
EdhrecApiResponseCardPricesDisplayWidget::EdhrecApiResponseCardPricesDisplayWidget(QWidget *parent,
const CardPrices &_cardPrices)
: QWidget(parent), cardPrices(_cardPrices)
{
layout = new QGridLayout(this);
setLayout(layout);
cardHoarderLabel = new QLabel(this);
cardHoarderPrice = new QLabel(QString::number(cardPrices.getCardhoarder().value("price").toDouble()), this);
cardKingdomLabel = new QLabel(this);
cardKingdomPrice = new QLabel(QString::number(cardPrices.getCardkingdom().value("price").toDouble()), this);
cardMarketLabel = new QLabel(this);
cardMarketPrice = new QLabel(QString::number(cardPrices.getCardmarket().value("price").toDouble()), this);
face2faceLabel = new QLabel(this);
face2facePrice = new QLabel(QString::number(cardPrices.getFace2face().value("price").toDouble()), this);
manaPoolLabel = new QLabel(this);
manaPoolPrice = new QLabel(QString::number(cardPrices.getManapool().value("price").toDouble()), this);
mtgStocksLabel = new QLabel(this);
mtgStocksPrice = new QLabel(QString::number(cardPrices.getMtgstocks().value("price").toDouble()), this);
scgLabel = new QLabel(this);
scgPrice = new QLabel(QString::number(cardPrices.getScg().value("price").toDouble()), this);
tcglLabel = new QLabel(this);
tcglPrice = new QLabel(QString::number(cardPrices.getTcgl().value("price").toDouble()), this);
tcgplayerLabel = new QLabel(this);
tcgplayerPrice = new QLabel(QString::number(cardPrices.getTcgplayer().value("price").toDouble()), this);
layout->addWidget(cardHoarderLabel, 0, 0);
layout->addWidget(cardHoarderPrice, 0, 1);
layout->addWidget(cardKingdomLabel, 0, 2);
layout->addWidget(cardKingdomPrice, 0, 3);
layout->addWidget(cardMarketLabel, 1, 0);
layout->addWidget(cardMarketPrice, 1, 1);
layout->addWidget(face2faceLabel, 1, 2);
layout->addWidget(face2facePrice, 1, 3);
layout->addWidget(manaPoolLabel, 2, 0);
layout->addWidget(manaPoolPrice, 2, 1);
layout->addWidget(mtgStocksLabel, 2, 2);
layout->addWidget(mtgStocksPrice, 2, 3);
layout->addWidget(scgLabel, 3, 0);
layout->addWidget(scgPrice, 3, 1);
layout->addWidget(tcglLabel, 3, 2);
layout->addWidget(tcglPrice, 3, 3);
layout->addWidget(tcgplayerLabel, 4, 0);
layout->addWidget(tcgplayerPrice, 4, 1);
retranslateUi();
}
void EdhrecApiResponseCardPricesDisplayWidget::retranslateUi()
{
cardHoarderLabel->setText(tr("Card Hoarder"));
cardKingdomLabel->setText(tr("Card Kingdom"));
cardMarketLabel->setText(tr("Card Market"));
face2faceLabel->setText(tr("Face 2-Face"));
manaPoolLabel->setText(tr("Mana Pool"));
mtgStocksLabel->setText(tr("MTG Stocks"));
scgLabel->setText(tr("Scg"));
tcglLabel->setText(tr("Tcgl"));
tcgplayerLabel->setText(tr("Tcgplayer"));
}

View file

@ -0,0 +1,42 @@
#ifndef EDHREC_API_RESPONSE_CARD_PRICES_DISPLAY_WIDGET_H
#define EDHREC_API_RESPONSE_CARD_PRICES_DISPLAY_WIDGET_H
#include "../../api_response/card_prices/edhrec_api_response_card_prices.h"
#include <QGridLayout>
#include <QLabel>
#include <QWidget>
class EdhrecApiResponseCardPricesDisplayWidget : public QWidget
{
Q_OBJECT
public:
EdhrecApiResponseCardPricesDisplayWidget(QWidget *parent, const CardPrices &cardPrices);
public slots:
void retranslateUi();
private:
CardPrices cardPrices;
QGridLayout *layout;
QLabel *cardHoarderLabel;
QLabel *cardHoarderPrice;
QLabel *cardKingdomLabel;
QLabel *cardKingdomPrice;
QLabel *cardMarketLabel;
QLabel *cardMarketPrice;
QLabel *face2faceLabel;
QLabel *face2facePrice;
QLabel *manaPoolLabel;
QLabel *manaPoolPrice;
QLabel *mtgStocksLabel;
QLabel *mtgStocksPrice;
QLabel *scgLabel;
QLabel *scgPrice;
QLabel *tcglLabel;
QLabel *tcglPrice;
QLabel *tcgplayerLabel;
QLabel *tcgplayerPrice;
};
#endif // EDHREC_API_RESPONSE_CARD_PRICES_DISPLAY_WIDGET_H

View file

@ -2,6 +2,7 @@
#include "../../../../../../game/cards/card_database_manager.h" #include "../../../../../../game/cards/card_database_manager.h"
#include "../../../../../ui/widgets/cards/card_info_picture_widget.h" #include "../../../../../ui/widgets/cards/card_info_picture_widget.h"
#include "../card_prices/edhrec_api_response_card_prices_display_widget.h"
EdhrecCommanderResponseCommanderDetailsDisplayWidget::EdhrecCommanderResponseCommanderDetailsDisplayWidget( EdhrecCommanderResponseCommanderDetailsDisplayWidget::EdhrecCommanderResponseCommanderDetailsDisplayWidget(
QWidget *parent, QWidget *parent,
@ -22,11 +23,14 @@ EdhrecCommanderResponseCommanderDetailsDisplayWidget::EdhrecCommanderResponseCom
salt = new QLabel(this); salt = new QLabel(this);
salt->setAlignment(Qt::AlignCenter); salt->setAlignment(Qt::AlignCenter);
cardPricesDisplayWidget = new EdhrecApiResponseCardPricesDisplayWidget(this, commanderDetails.getPrices());
navigationWidget = new EdhrecCommanderApiResponseNavigationWidget(this, commanderDetails, baseUrl); navigationWidget = new EdhrecCommanderApiResponseNavigationWidget(this, commanderDetails, baseUrl);
layout->addWidget(commanderPicture); layout->addWidget(commanderPicture);
layout->addWidget(label); layout->addWidget(label);
layout->addWidget(salt); layout->addWidget(salt);
layout->addWidget(cardPricesDisplayWidget);
layout->addWidget(navigationWidget); layout->addWidget(navigationWidget);
retranslateUi(); retranslateUi();

View file

@ -3,6 +3,7 @@
#include "../../../../../ui/widgets/cards/card_info_picture_widget.h" #include "../../../../../ui/widgets/cards/card_info_picture_widget.h"
#include "../../api_response/cards/edhrec_commander_api_response_commander_details.h" #include "../../api_response/cards/edhrec_commander_api_response_commander_details.h"
#include "../card_prices/edhrec_api_response_card_prices_display_widget.h"
#include "edhrec_commander_api_response_navigation_widget.h" #include "edhrec_commander_api_response_navigation_widget.h"
#include <QLabel> #include <QLabel>
@ -26,6 +27,7 @@ private:
CardInfoPictureWidget *commanderPicture; CardInfoPictureWidget *commanderPicture;
QLabel *label; QLabel *label;
QLabel *salt; QLabel *salt;
EdhrecApiResponseCardPricesDisplayWidget *cardPricesDisplayWidget;
EdhrecCommanderApiResponseNavigationWidget *navigationWidget; EdhrecCommanderApiResponseNavigationWidget *navigationWidget;
}; };