Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
tab_edhrec_main.h
Go to the documentation of this file.
1
6
7#ifndef TAB_EDHREC_MAIN_H
8#define TAB_EDHREC_MAIN_H
9
10#include "../../tab.h"
12
13#include <QJsonObject>
14#include <QJsonValue>
15#include <QString>
16#include <qtmetamacros.h>
17
18class CardSizeWidget;
20class QHBoxLayout;
21class QLineEdit;
22class QNetworkAccessManager;
23class QNetworkReply;
24class QPushButton;
25class QVBoxLayout;
26class QWidget;
28class TabSupervisor;
29
30class TabEdhRecMain : public Tab
31{
32 Q_OBJECT
33public:
34 explicit TabEdhRecMain(TabSupervisor *_tabSupervisor);
35
36 void retranslateUi() override;
37 void doSearch();
38 [[nodiscard]] QString getTabText() const override
39 {
40 auto cardName = cardToQuery.isNull() ? QString() : cardToQuery->getName();
41 return tr("EDHRec: ") + cardName;
42 }
43
45 {
46 return cardSizeSlider;
47 }
48
49 QNetworkAccessManager *networkManager;
50
51public slots:
52 void processApiJson(QNetworkReply *reply);
53 void processCommanderResponse(QJsonObject reply, QString responseUrl = "");
54 void processTopCardsResponse(QJsonObject reply);
55 void processTopTagsResponse(QJsonObject reply);
56 void processTopCommandersResponse(QJsonObject reply);
57 void processAverageDeckResponse(QJsonObject reply);
58 void prettyPrintJson(const QJsonValue &value, int indentLevel);
59 void setCard(CardInfoPtr _cardToQuery, bool isCommander = false);
60 void actNavigatePage(QString url);
61 void getTopCards();
62 void getTopCommanders();
63 void getTopTags();
64
65private:
66 QWidget *container;
69 QVBoxLayout *mainLayout;
70 QHBoxLayout *navigationLayout;
71 QVBoxLayout *currentPageLayout;
72 QPushButton *cardsPushButton;
74 QPushButton *tagsPushButton;
75 QLineEdit *searchBar;
76 QPushButton *searchPushButton;
81};
82
83#endif // TAB_EDHREC_MAIN_H
QSharedPointer< CardInfo > CardInfoPtr
Definition card_info.cpp:15
A widget for adjusting card sizes using a slider.
Definition card_size_widget.h:23
Definition edhrec_commander_api_response_display_widget.h:20
Definition settings_button_widget.h:21
QPushButton * tagsPushButton
Definition tab_edhrec_main.h:74
QHBoxLayout * navigationLayout
Definition tab_edhrec_main.h:70
TabEdhRecMain(TabSupervisor *_tabSupervisor)
Definition tab_edhrec_main.cpp:45
void processTopCommandersResponse(QJsonObject reply)
Definition tab_edhrec_main.cpp:295
void setCard(CardInfoPtr _cardToQuery, bool isCommander=false)
Definition tab_edhrec_main.cpp:135
QVBoxLayout * mainLayout
Definition tab_edhrec_main.h:69
void processTopCardsResponse(QJsonObject reply)
Definition tab_edhrec_main.cpp:241
CardSizeWidget * getCardSizeSlider() const
Definition tab_edhrec_main.h:44
SettingsButtonWidget * settingsButton
Definition tab_edhrec_main.h:77
QWidget * container
Definition tab_edhrec_main.h:66
void processTopTagsResponse(QJsonObject reply)
Definition tab_edhrec_main.cpp:268
CardInfoPtr cardToQuery
Definition tab_edhrec_main.h:79
QPushButton * topCommandersPushButton
Definition tab_edhrec_main.h:73
QPushButton * cardsPushButton
Definition tab_edhrec_main.h:72
QPushButton * searchPushButton
Definition tab_edhrec_main.h:76
QLineEdit * searchBar
Definition tab_edhrec_main.h:75
EdhrecCommanderApiResponseDisplayWidget * displayWidget
Definition tab_edhrec_main.h:80
QWidget * currentPageDisplay
Definition tab_edhrec_main.h:68
QNetworkAccessManager * networkManager
Definition tab_edhrec_main.h:49
void processCommanderResponse(QJsonObject reply, QString responseUrl="")
Definition tab_edhrec_main.cpp:322
void doSearch()
Definition tab_edhrec_main.cpp:125
void getTopTags()
Definition tab_edhrec_main.cpp:186
CardSizeWidget * cardSizeSlider
Definition tab_edhrec_main.h:78
void getTopCommanders()
Definition tab_edhrec_main.cpp:178
QWidget * navigationContainer
Definition tab_edhrec_main.h:67
void processApiJson(QNetworkReply *reply)
Definition tab_edhrec_main.cpp:193
void actNavigatePage(QString url)
Definition tab_edhrec_main.cpp:162
void prettyPrintJson(const QJsonValue &value, int indentLevel)
Definition tab_edhrec_main.cpp:356
void processAverageDeckResponse(QJsonObject reply)
Definition tab_edhrec_main.cpp:349
void retranslateUi() override
Definition tab_edhrec_main.cpp:116
QString getTabText() const override
Definition tab_edhrec_main.h:38
void getTopCards()
Definition tab_edhrec_main.cpp:170
QVBoxLayout * currentPageLayout
Definition tab_edhrec_main.h:71
Definition tab_supervisor.h:92
Tab(TabSupervisor *_tabSupervisor)
Definition tab.cpp:16