Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
pages.h
Go to the documentation of this file.
1#ifndef COCKATRICE_PAGES_H
2#define COCKATRICE_PAGES_H
3
4#include "pagetemplates.h"
5
6#include <QByteArray>
7#include <QFuture>
8#include <QFutureWatcher>
9#include <QString>
10#include <QStringList>
11#include <QtGlobal>
12#include <qtmetamacros.h>
13
14class QCheckBox;
15class QComboBox;
16class QLabel;
17class QLineEdit;
18class QRadioButton;
19class QProgressBar;
20class QTextEdit;
21class QPushButton;
22class QUrl;
23class QWidget;
24
26{
27 Q_OBJECT
28public:
29 explicit IntroPage(QWidget *parent = nullptr);
30 void retranslateUi() override;
31
32private:
33 QStringList findQmFiles();
34 QString languageName(const QString &lang);
35
36private:
38 QComboBox *languageBox;
39
40private slots:
41 void languageBoxChanged(int index);
42
43protected slots:
44 void initializePage() override;
45};
46
48{
49 Q_OBJECT
50public:
51 explicit OutroPage(QWidget * = nullptr)
52 {
53 }
54 void retranslateUi() override;
55
56protected:
57 void initializePage() override;
58};
59
62{
63 bool ok = false;
64 bool plainXml = false;
65 QByteArray xmlData;
66 QString errorMessage;
68};
69
71{
72 Q_OBJECT
73public:
74 explicit LoadSetsPage(QWidget *parent = nullptr);
75 void retranslateUi() override;
76 bool isComplete() const override;
77
78protected:
79 void initializePage() override;
80 bool validatePage() override;
81 void readSetsFromByteArray(QByteArray _data);
82 void readSetsFromFile(const QString &fileName);
83 void downloadSetsFile(const QUrl &url);
84 void cancelWork() override;
85
86private:
87 QRadioButton *urlRadioButton;
88 QRadioButton *fileRadioButton;
89 QLineEdit *urlLineEdit;
90 QLineEdit *fileLineEdit;
91 QPushButton *urlButton;
92 QPushButton *fileButton;
94 QProgressBar *progressBar;
95
96 QFutureWatcher<LoadSetsResult> watcher;
97 QFuture<LoadSetsResult> future;
98 bool loadActive = false;
99
100 void beginLoadSets(bool compressedFile = false);
101
102private slots:
103 void actLoadSetsFile();
105 void actDownloadProgressSetsFile(qint64 received, qint64 total);
107 void updateParsingProgress(int bytesRead, int totalBytes);
108 void scanProgressToStdout(int bytesRead, int totalBytes);
109 void importFinished();
110 void zipDownloadFailed(const QString &message);
111};
112
114{
115 Q_OBJECT
116public:
117 explicit SaveSetsPage(QWidget *parent = nullptr);
118 void retranslateUi() override;
119 bool isComplete() const override;
120
121private:
122 QTextEdit *messageLog;
123 QProgressBar *progressBar;
125 QLabel *pathLabel;
126 QLabel *saveLabel;
127
128 QFutureWatcher<int> importWatcher;
129 QFuture<int> importFuture;
130 int totalSets = 0;
131 bool importActive = false;
132
133protected:
134 void initializePage() override;
135 void cleanupPage() override;
136 bool validatePage() override;
137 void cancelWork() override;
138
139private slots:
140 void importFinished();
141 void updateTotalProgress(int cardsImported, int setIndex, const QString &setName);
142};
143
145{
146 Q_OBJECT
147public:
148 explicit LoadSpoilersPage(QWidget * = nullptr)
149 {
150 }
151 void retranslateUi() override;
152
153protected:
154 QString getDefaultUrl() override;
155 QString getCustomUrlSettingsKey() override;
156 QString getDefaultSavePath() override;
157 QString getWindowTitle() override;
158 QString getFileType() override;
159 QString getFilePromptName() override;
160};
161
163{
164 Q_OBJECT
165public:
166 explicit LoadTokensPage(QWidget * = nullptr)
167 {
168 }
169 void retranslateUi() override;
170
171protected:
172 QString getDefaultUrl() override;
173 QString getCustomUrlSettingsKey() override;
174 QString getDefaultSavePath() override;
175 QString getWindowTitle() override;
176 QString getFileType() override;
177 QString getFilePromptName() override;
178 void initializePage() override;
179};
180
181#endif // COCKATRICE_PAGES_H
QStringList findQmFiles()
Definition pages.cpp:236
void retranslateUi() override
Definition pages.cpp:259
void languageBoxChanged(int index)
Definition pages.cpp:254
QString languageName(const QString &lang)
Definition pages.cpp:242
QLabel * label
Definition pages.h:37
QLabel * languageLabel
Definition pages.h:37
QLabel * versionLabel
Definition pages.h:37
void initializePage() override
Definition pages.cpp:229
QComboBox * languageBox
Definition pages.h:38
IntroPage(QWidget *parent=nullptr)
Definition pages.cpp:195
QPushButton * fileButton
Definition pages.h:92
void actDownloadProgressSetsFile(qint64 received, qint64 total)
Definition pages.cpp:473
LoadSetsPage(QWidget *parent=nullptr)
Definition pages.cpp:284
void cancelWork() override
Asks an active page to stop any background worker before the wizard (and its importer) can be torn do...
Definition pages.cpp:608
void retranslateUi() override
Definition pages.cpp:337
QRadioButton * fileRadioButton
Definition pages.h:88
void initializePage() override
Definition pages.cpp:323
bool loadActive
Definition pages.h:98
QFutureWatcher< LoadSetsResult > watcher
Definition pages.h:96
QPushButton * urlButton
Definition pages.h:91
bool validatePage() override
Definition pages.cpp:380
void updateParsingProgress(int bytesRead, int totalBytes)
Definition pages.cpp:525
void actLoadSetsFile()
Definition pages.cpp:355
void beginLoadSets(bool compressedFile=false)
Definition pages.cpp:541
void zipDownloadFailed(const QString &message)
Definition pages.cpp:619
QLineEdit * fileLineEdit
Definition pages.h:90
QRadioButton * urlRadioButton
Definition pages.h:87
QProgressBar * progressBar
Definition pages.h:94
void downloadSetsFile(const QUrl &url)
Definition pages.cpp:432
QLabel * progressLabel
Definition pages.h:93
QLineEdit * urlLineEdit
Definition pages.h:89
bool isComplete() const override
Definition pages.cpp:318
void actDownloadFinishedSetsFile()
Definition pages.cpp:483
void actRestoreDefaultUrl()
Definition pages.cpp:350
void importFinished()
Definition pages.cpp:639
void readSetsFromByteArray(QByteArray _data)
Definition pages.cpp:569
QFuture< LoadSetsResult > future
Definition pages.h:97
void readSetsFromFile(const QString &fileName)
Definition pages.cpp:581
void scanProgressToStdout(int bytesRead, int totalBytes)
Definition pages.cpp:536
QString getCustomUrlSettingsKey() override
Definition pages.cpp:965
QString getFilePromptName() override
Definition pages.cpp:985
QString getFileType() override
Definition pages.cpp:980
QString getDefaultSavePath() override
Definition pages.cpp:970
LoadSpoilersPage(QWidget *=nullptr)
Definition pages.h:148
QString getDefaultUrl() override
Definition pages.cpp:960
void retranslateUi() override
Definition pages.cpp:990
QString getWindowTitle() override
Definition pages.cpp:975
void initializePage() override
Definition pages.cpp:906
QString getFilePromptName() override
Definition pages.cpp:940
QString getFileType() override
Definition pages.cpp:935
void retranslateUi() override
Definition pages.cpp:945
QString getDefaultUrl() override
Definition pages.cpp:915
QString getCustomUrlSettingsKey() override
Definition pages.cpp:920
LoadTokensPage(QWidget *=nullptr)
Definition pages.h:166
QString getDefaultSavePath() override
Definition pages.cpp:925
QString getWindowTitle() override
Definition pages.cpp:930
OracleWizardPage(QWidget *parent=nullptr)
Definition pagetemplates.h:24
void retranslateUi() override
Definition pages.cpp:268
void initializePage() override
Definition pages.cpp:276
OutroPage(QWidget *=nullptr)
Definition pages.h:51
int totalSets
Definition pages.h:130
bool isComplete() const override
Definition pages.cpp:725
QCheckBox * defaultPathCheckBox
Definition pages.h:124
bool importActive
Definition pages.h:131
QLabel * pathLabel
Definition pages.h:125
bool validatePage() override
Definition pages.cpp:862
QFuture< int > importFuture
Definition pages.h:129
SaveSetsPage(QWidget *parent=nullptr)
Definition pages.cpp:702
QProgressBar * progressBar
Definition pages.h:123
QTextEdit * messageLog
Definition pages.h:122
QFutureWatcher< int > importWatcher
Definition pages.h:128
void updateTotalProgress(int cardsImported, int setIndex, const QString &setName)
Definition pages.cpp:835
void cleanupPage() override
Definition pages.cpp:730
QLabel * saveLabel
Definition pages.h:126
void cancelWork() override
Asks an active page to stop any background worker before the wizard (and its importer) can be torn do...
Definition pages.cpp:771
void initializePage() override
Definition pages.cpp:738
void importFinished()
Definition pages.cpp:786
void retranslateUi() override
Definition pages.cpp:817
SimpleDownloadFilePage(QWidget *parent=nullptr)
Definition pagetemplates.cpp:33
Result of a worker-thread sets-file load (read + decompress + dispatch).
Definition pages.h:62
bool ok
JSON scan produced set data (or plain XML was handled).
Definition pages.h:63
bool plainXml
input was a plain Cockatrice XML database
Definition pages.h:64
QByteArray xmlData
raw XML for the plain-XML path
Definition pages.h:65
QString errorMessage
set when the input could not be processed
Definition pages.h:66
bool offerUncompressedFallback
decompression-only failure: offer the uncompressed URL
Definition pages.h:67