@@ -30,6 +30,8 @@ class ProjectLoader : public QObject
3030 Q_PROPERTY (int cloneLimit READ cloneLimit WRITE setCloneLimit NOTIFY cloneLimitChanged)
3131 Q_PROPERTY (bool spriteFencing READ spriteFencing WRITE setSpriteFencing NOTIFY spriteFencingChanged)
3232 Q_PROPERTY (bool eventLoopEnabled READ eventLoopEnabled WRITE setEventLoopEnabled NOTIFY eventLoopEnabledChanged)
33+ Q_PROPERTY (unsigned int downloadedAssets READ downloadedAssets NOTIFY downloadedAssetsChanged)
34+ Q_PROPERTY (unsigned int assetCount READ assetCount NOTIFY assetCountChanged)
3335
3436 public:
3537 explicit ProjectLoader (QObject *parent = nullptr );
@@ -72,6 +74,10 @@ class ProjectLoader : public QObject
7274 bool eventLoopEnabled () const ;
7375 void setEventLoopEnabled (bool newEventLoopEnabled);
7476
77+ unsigned int downloadedAssets () const ;
78+
79+ unsigned int assetCount () const ;
80+
7581 signals:
7682 void fileNameChanged ();
7783 void loadStatusChanged ();
@@ -86,6 +92,8 @@ class ProjectLoader : public QObject
8692 void cloneLimitChanged ();
8793 void spriteFencingChanged ();
8894 void eventLoopEnabledChanged ();
95+ void downloadedAssetsChanged ();
96+ void assetCountChanged ();
8997
9098 protected:
9199 void timerEvent (QTimerEvent *event) override ;
@@ -113,6 +121,8 @@ class ProjectLoader : public QObject
113121 int m_cloneLimit = 300 ;
114122 bool m_spriteFencing = true ;
115123 bool m_eventLoopEnabled = true ;
124+ std::atomic<unsigned int > m_downloadedAssets = 0 ;
125+ std::atomic<unsigned int > m_assetCount = 0 ;
116126};
117127
118128} // namespace scratchcppgui
0 commit comments