Cockatrice 2025-11-30-Development-2.11.0-beta.38
A cross-platform 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 "../../interface/widgets/cards/card_size_widget.h"
11#include "../../interface/widgets/quick_settings/settings_button_widget.h"
12#include "../../tab.h"
14
15#include <QHBoxLayout>
16#include <QLineEdit>
17#include <QNetworkAccessManager>
18#include <QPushButton>
20
21class TabEdhRecMain : public Tab
22{
23 Q_OBJECT
24public:
25 explicit TabEdhRecMain(TabSupervisor *_tabSupervisor);
26
27 void retranslateUi() override;
28 void doSearch();
29 [[nodiscard]] QString getTabText() const override
30 {
31 auto cardName = cardToQuery.isNull() ? QString() : cardToQuery->getName();
32 return tr("EDHRec: ") + cardName;
33 }
34
36 {
37 return cardSizeSlider;
38 }
39
40 QNetworkAccessManager *networkManager;
41
42public slots:
43 void processApiJson(QNetworkReply *reply);
44 void processCommanderResponse(QJsonObject reply, QString responseUrl = "");
45 void processTopCardsResponse(QJsonObject reply);
46 void processTopTagsResponse(QJsonObject reply);
47 void processTopCommandersResponse(QJsonObject reply);
48 void processAverageDeckResponse(QJsonObject reply);
49 void prettyPrintJson(const QJsonValue &value, int indentLevel);
50 void setCard(CardInfoPtr _cardToQuery, bool isCommander = false);
51 void actNavigatePage(QString url);
52 void getTopCards();
53 void getTopCommanders();
54 void getTopTags();
55
56private:
57 QWidget *container;
60 QVBoxLayout *mainLayout;
61 QHBoxLayout *navigationLayout;
62 QVBoxLayout *currentPageLayout;
63 QPushButton *cardsPushButton;
65 QPushButton *tagsPushButton;
66 QLineEdit *searchBar;
67 QPushButton *searchPushButton;
72};
73
74#endif // TAB_EDHREC_MAIN_H
QSharedPointer< CardInfo > CardInfoPtr
Definition card_info.cpp:20
A widget for adjusting card sizes using a slider.
Definition card_size_widget.h:21
Definition edhrec_commander_api_response_display_widget.h:17
Definition settings_button_widget.h:17
QPushButton * tagsPushButton
Definition tab_edhrec_main.h:65
QHBoxLayout * navigationLayout
Definition tab_edhrec_main.h:61
TabEdhRecMain(TabSupervisor *_tabSupervisor)
Definition tab_edhrec_main.cpp:36
void processTopCommandersResponse(QJsonObject reply)
Definition tab_edhrec_main.cpp:303
void setCard(CardInfoPtr _cardToQuery, bool isCommander=false)
Definition tab_edhrec_main.cpp:149
QVBoxLayout * mainLayout
Definition tab_edhrec_main.h:60
void processTopCardsResponse(QJsonObject reply)
Definition tab_edhrec_main.cpp:249
CardSizeWidget * getCardSizeSlider() const
Definition tab_edhrec_main.h:35
SettingsButtonWidget * settingsButton
Definition tab_edhrec_main.h:68
QWidget * container
Definition tab_edhrec_main.h:57
void processTopTagsResponse(QJsonObject reply)
Definition tab_edhrec_main.cpp:276
CardInfoPtr cardToQuery
Definition tab_edhrec_main.h:70
QPushButton * topCommandersPushButton
Definition tab_edhrec_main.h:64
QPushButton * cardsPushButton
Definition tab_edhrec_main.h:63
QPushButton * searchPushButton
Definition tab_edhrec_main.h:67
QLineEdit * searchBar
Definition tab_edhrec_main.h:66
EdhrecCommanderApiResponseDisplayWidget * displayWidget
Definition tab_edhrec_main.h:71
QWidget * currentPageDisplay
Definition tab_edhrec_main.h:59
QNetworkAccessManager * networkManager
Definition tab_edhrec_main.h:40
void processCommanderResponse(QJsonObject reply, QString responseUrl="")
Definition tab_edhrec_main.cpp:330
void doSearch()
Definition tab_edhrec_main.cpp:139
void getTopTags()
Definition tab_edhrec_main.cpp:194
CardSizeWidget * cardSizeSlider
Definition tab_edhrec_main.h:69
void getTopCommanders()
Definition tab_edhrec_main.cpp:187
QWidget * navigationContainer
Definition tab_edhrec_main.h:58
void processApiJson(QNetworkReply *reply)
Definition tab_edhrec_main.cpp:201
void actNavigatePage(QString url)
Definition tab_edhrec_main.cpp:173
void prettyPrintJson(const QJsonValue &value, int indentLevel)
Definition tab_edhrec_main.cpp:364
void processAverageDeckResponse(QJsonObject reply)
Definition tab_edhrec_main.cpp:357
void retranslateUi() override
Definition tab_edhrec_main.cpp:130
QString getTabText() const override
Definition tab_edhrec_main.h:29
void getTopCards()
Definition tab_edhrec_main.cpp:180
QVBoxLayout * currentPageLayout
Definition tab_edhrec_main.h:62
Definition tab_supervisor.h:83
Tab(TabSupervisor *_tabSupervisor)
Definition tab.cpp:11
TODO: Document this.