Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
card_picture_loader_request_status_display_widget.h
Go to the documentation of this file.
1#ifndef PICTURE_LOADER_REQUEST_STATUS_DISPLAY_WIDGET_H
2#define PICTURE_LOADER_REQUEST_STATUS_DISPLAY_WIDGET_H
3
4#include <QDateTime>
5#include <QLabel>
6#include <QSharedPointer>
7#include <QString>
8#include <QWidget>
9#include <qtmetamacros.h>
10
11class ExactCard;
12class QHBoxLayout;
13class QUrl;
14
30{
31 Q_OBJECT
32public:
41 const QUrl &url,
42 const ExactCard &card,
43 const QString &setName);
44
47 {
48 finished->setText("True");
49 update();
50 repaint();
51 }
52
54 [[nodiscard]] bool getFinished() const
55 {
56 return finished->text() == "True";
57 }
58
60 void setElapsedTime(const QString &_elapsedTime) const
61 {
62 elapsedTime->setText(_elapsedTime);
63 }
64
70 {
71 if (!getFinished()) {
72 int elapsedSeconds = QDateTime::fromString(startTime->text()).secsTo(QDateTime::currentDateTime());
73 elapsedTime->setText(QString::number(elapsedSeconds));
74 update();
75 repaint();
76 return elapsedSeconds;
77 }
78 return elapsedTime->text().toInt();
79 }
80
82 [[nodiscard]] QString getStartTime() const
83 {
84 return startTime->text();
85 }
86
88 [[nodiscard]] QString getUrl() const
89 {
90 return url->text();
91 }
92
93private:
94 QHBoxLayout *layout;
95 QLabel *name;
96 QLabel *setShortname;
97 QLabel *providerId;
98 QLabel *startTime;
99 QLabel *elapsedTime;
100 QLabel *finished;
101 QLabel *url;
102};
103
104#endif // PICTURE_LOADER_REQUEST_STATUS_DISPLAY_WIDGET_H
int queryElapsedSeconds()
Queries the elapsed time in seconds since the request started.
Definition card_picture_loader_request_status_display_widget.h:69
QLabel * name
Card name.
Definition card_picture_loader_request_status_display_widget.h:95
QLabel * finished
Whether the request has finished.
Definition card_picture_loader_request_status_display_widget.h:100
void setFinished()
Definition card_picture_loader_request_status_display_widget.h:46
CardPictureLoaderRequestStatusDisplayWidget(QWidget *parent, const QUrl &url, const ExactCard &card, const QString &setName)
Constructs a new status widget for a specific card image request.
Definition card_picture_loader_request_status_display_widget.cpp:9
bool getFinished() const
Definition card_picture_loader_request_status_display_widget.h:54
QLabel * elapsedTime
Elapsed time since start.
Definition card_picture_loader_request_status_display_widget.h:99
QLabel * startTime
Start time of the request.
Definition card_picture_loader_request_status_display_widget.h:98
QString getUrl() const
Definition card_picture_loader_request_status_display_widget.h:88
QLabel * setShortname
Set short name.
Definition card_picture_loader_request_status_display_widget.h:96
QLabel * url
URL of the requested image.
Definition card_picture_loader_request_status_display_widget.h:101
QHBoxLayout * layout
Horizontal layout for arranging labels.
Definition card_picture_loader_request_status_display_widget.h:94
QString getStartTime() const
Definition card_picture_loader_request_status_display_widget.h:82
QLabel * providerId
Provider ID for the card.
Definition card_picture_loader_request_status_display_widget.h:97
void setElapsedTime(const QString &_elapsedTime) const
Definition card_picture_loader_request_status_display_widget.h:60
Represents a specific card instance, defined by its CardInfo and a particular printing.
Definition exact_card.h:24