#ifndef PROGRESSINDICATOR_H #define PROGRESSINDICATOR_H #include class ProgressIndicator : public QWidget { public: ProgressIndicator(QWidget *parent = nullptr); virtual ~ProgressIndicator(); QSize minimumSizeHint() const override; QSize sizeHint() const override; bool getProgressIndicatorVisible() const { return progressIndicatorVisible; } void setProgressIndicatorVisible(bool visible); bool getAnimating() const { return animating; } void setAnimating(bool animating); protected: void timerEvent(QTimerEvent *event) override; void paintEvent(QPaintEvent *event) override; private: bool animating = true; bool progressIndicatorVisible = true; int animationTimerId = 0; int animationState = 0; void updateAnimationTimer(); }; #endif // PROGRESSINDICATOR_H