You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
691 B
37 lines
691 B
#include <array>
|
|
|
|
#include <QLabel>
|
|
#include <QPixmap>
|
|
#include <QProgressBar>
|
|
#include <QSocketNotifier>
|
|
#include <QVariantAnimation>
|
|
#include <QWidget>
|
|
|
|
constexpr int spinner_fps = 30;
|
|
constexpr QSize spinner_size = QSize(360, 360);
|
|
|
|
class TrackWidget : public QWidget {
|
|
Q_OBJECT
|
|
public:
|
|
TrackWidget(QWidget *parent = nullptr);
|
|
|
|
private:
|
|
void paintEvent(QPaintEvent *event) override;
|
|
std::array<QPixmap, spinner_fps> track_imgs;
|
|
QVariantAnimation m_anim;
|
|
};
|
|
|
|
class Spinner : public QWidget {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit Spinner(QWidget *parent = 0);
|
|
|
|
private:
|
|
QLabel *text;
|
|
QProgressBar *progress_bar;
|
|
QSocketNotifier *notifier;
|
|
|
|
public slots:
|
|
void update(int n);
|
|
};
|
|
|