From 002f83cbb922bd796b6ab4ea7bb44b6f21e9b25d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Br=C3=BCbach?= Date: Wed, 22 Jan 2025 10:24:38 +0100 Subject: [PATCH] Things and stuff --- ...ponse_commander_details_display_widget.cpp | 2 +- ...esponse_commander_details_display_widget.h | 2 + ..._commander_api_response_display_widget.cpp | 5 +- .../src/client/tabs/api/edhrec/tab_edhrec.cpp | 8 ++-- .../src/client/tabs/tab_deck_editor.cpp | 48 ++++++++++--------- cockatrice/src/client/ui/window_main.h | 5 ++ 6 files changed, 38 insertions(+), 32 deletions(-) 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..58b77df73 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,7 +13,7 @@ EdhrecCommanderResponseCommanderDetailsDisplayWidget::EdhrecCommanderResponseCom layout = new QVBoxLayout(this); setLayout(layout); - auto commanderPicture = new CardInfoPictureWidget(this); + commanderPicture = new CardInfoPictureWidget(this); commanderPicture->setCard(CardDatabaseManager::getInstance()->getCard(commanderDetails.getName())); commanderDetails.debugPrint(); diff --git a/cockatrice/src/client/tabs/api/edhrec/edhrec_commander_api_response_commander_details_display_widget.h b/cockatrice/src/client/tabs/api/edhrec/edhrec_commander_api_response_commander_details_display_widget.h index b77f6658d..85970d503 100644 --- a/cockatrice/src/client/tabs/api/edhrec/edhrec_commander_api_response_commander_details_display_widget.h +++ b/cockatrice/src/client/tabs/api/edhrec/edhrec_commander_api_response_commander_details_display_widget.h @@ -1,6 +1,7 @@ #ifndef EDHREC_COMMANDER_API_RESPONSE_COMMANDER_DETAILS_DISPLAY_WIDGET_H #define EDHREC_COMMANDER_API_RESPONSE_COMMANDER_DETAILS_DISPLAY_WIDGET_H +#include "../../../ui/widgets/cards/card_info_picture_widget.h" #include "api_response/edhrec_commander_api_response_commander_details.h" #include @@ -20,6 +21,7 @@ private: QLabel *label; QLabel *salt; QVBoxLayout *layout; + CardInfoPictureWidget *commanderPicture; EdhrecCommanderApiResponseCommanderDetails commanderDetails; }; 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 ddf1e1749..5a479c599 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 @@ -4,6 +4,7 @@ #include "../../../ui/widgets/cards/card_info_picture_widget.h" #include "api_response/edhrec_commander_api_response.h" #include "edhrec_commander_api_response_card_list_display_widget.h" +#include "edhrec_commander_api_response_commander_details_display_widget.h" #include @@ -16,9 +17,7 @@ EdhrecCommanderApiResponseDisplayWidget::EdhrecCommanderApiResponseDisplayWidget layout->setAlignment(Qt::AlignHCenter); - auto commanderPicture = new CardInfoPictureWidget(this); - commanderPicture->setCard( - CardDatabaseManager::getInstance()->getCard(response.container.getCommanderDetails().getName())); + auto commanderPicture = new EdhrecCommanderResponseCommanderDetailsDisplayWidget(this, response.container.getCommanderDetails()); layout->addWidget(commanderPicture); auto edhrec_commander_api_response_card_lists = response.container.getCardlists(); diff --git a/cockatrice/src/client/tabs/api/edhrec/tab_edhrec.cpp b/cockatrice/src/client/tabs/api/edhrec/tab_edhrec.cpp index 80033b5c7..e2fd9a918 100644 --- a/cockatrice/src/client/tabs/api/edhrec/tab_edhrec.cpp +++ b/cockatrice/src/client/tabs/api/edhrec/tab_edhrec.cpp @@ -18,7 +18,7 @@ TabEdhRec::TabEdhRec(TabSupervisor *_tabSupervisor) : Tab(_tabSupervisor) 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(scrollArea); #if (QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)) @@ -32,13 +32,11 @@ TabEdhRec::TabEdhRec(TabSupervisor *_tabSupervisor) : Tab(_tabSupervisor) void TabEdhRec::resizeEvent(QResizeEvent *event) { QWidget::resizeEvent(event); - qDebug() << "resizeEvent: " << event->size(); if (scrollArea) { if (scrollArea->widget()) { scrollArea->widget()->resize(event->size()); } } - } void TabEdhRec::retranslateUi() @@ -54,14 +52,14 @@ void TabEdhRec::setCard(CardInfoPtr _cardToQuery) return; } - QString cardName = cardToQuery->getName(); // Assuming `getName()` fetches the card's name. + QString cardName = cardToQuery->getName(); QString formattedName = cardName.toLower().replace(" ", "-").remove(QRegularExpression("[^a-z0-9\\-]")); QString url = QString("https://json.edhrec.com/pages/commanders/%1.json").arg(formattedName); QNetworkRequest request{QUrl(url)}; - networkManager->get(request); // Issue the GET request. + networkManager->get(request); } void TabEdhRec::processApiJson(QNetworkReply *reply) diff --git a/cockatrice/src/client/tabs/tab_deck_editor.cpp b/cockatrice/src/client/tabs/tab_deck_editor.cpp index ef493d5a2..354de12b4 100644 --- a/cockatrice/src/client/tabs/tab_deck_editor.cpp +++ b/cockatrice/src/client/tabs/tab_deck_editor.cpp @@ -540,33 +540,35 @@ void TabDeckEditor::databaseCustomMenu(QPoint point) QMenu menu; const CardInfoPtr info = currentCardInfo(); - // add to deck and sideboard options - QAction *addToDeck, *addToSideboard, *selectPrinting, *edhRec; - addToDeck = menu.addAction(tr("Add to Deck")); - addToSideboard = menu.addAction(tr("Add to Sideboard")); - selectPrinting = menu.addAction(tr("Select Printing")); - edhRec = menu.addAction(tr("Show on EDHREC")); + if (info) { + // add to deck and sideboard options + QAction *addToDeck, *addToSideboard, *selectPrinting, *edhRec; + addToDeck = menu.addAction(tr("Add to Deck")); + addToSideboard = menu.addAction(tr("Add to Sideboard")); + selectPrinting = menu.addAction(tr("Select Printing")); + edhRec = menu.addAction(tr("Show on EDHREC")); - connect(addToDeck, SIGNAL(triggered()), this, SLOT(actAddCard())); - connect(addToSideboard, SIGNAL(triggered()), this, SLOT(actAddCardToSideboard())); - connect(selectPrinting, &QAction::triggered, this, [this, info] { this->showPrintingSelector(); }); - connect(edhRec, &QAction::triggered, this, [this, info] { this->tabSupervisor->addEdhrecTab(info); }); + connect(addToDeck, SIGNAL(triggered()), this, SLOT(actAddCard())); + connect(addToSideboard, SIGNAL(triggered()), this, SLOT(actAddCardToSideboard())); + connect(selectPrinting, &QAction::triggered, this, [this, info] { this->showPrintingSelector(); }); + connect(edhRec, &QAction::triggered, this, [this, info] { this->tabSupervisor->addEdhrecTab(info); }); - // filling out the related cards submenu - auto *relatedMenu = new QMenu(tr("Show Related cards")); - menu.addMenu(relatedMenu); - auto relatedCards = info->getAllRelatedCards(); - if (relatedCards.isEmpty()) { - relatedMenu->setDisabled(true); - } else { - for (const CardRelation *rel : relatedCards) { - const QString &relatedCardName = rel->getName(); - QAction *relatedCard = relatedMenu->addAction(relatedCardName); - connect(relatedCard, &QAction::triggered, cardInfo, - [this, relatedCardName] { cardInfo->setCard(relatedCardName); }); + // filling out the related cards submenu + auto *relatedMenu = new QMenu(tr("Show Related cards")); + menu.addMenu(relatedMenu); + auto relatedCards = info->getAllRelatedCards(); + if (relatedCards.isEmpty()) { + relatedMenu->setDisabled(true); + } else { + for (const CardRelation *rel : relatedCards) { + const QString &relatedCardName = rel->getName(); + QAction *relatedCard = relatedMenu->addAction(relatedCardName); + connect(relatedCard, &QAction::triggered, cardInfo, + [this, relatedCardName] { cardInfo->setCard(relatedCardName); }); + } } + menu.exec(databaseView->mapToGlobal(point)); } - menu.exec(databaseView->mapToGlobal(point)); } void TabDeckEditor::decklistCustomMenu(QPoint point) diff --git a/cockatrice/src/client/ui/window_main.h b/cockatrice/src/client/ui/window_main.h index 8ba3ea440..6da38b414 100644 --- a/cockatrice/src/client/ui/window_main.h +++ b/cockatrice/src/client/ui/window_main.h @@ -163,6 +163,11 @@ public: } ~MainWindow() override; + TabSupervisor* getTabSupervisor() const + { + return tabSupervisor; + } + protected: void closeEvent(QCloseEvent *event) override; void changeEvent(QEvent *event) override;