@@ -36,6 +36,10 @@ class CursorImageInfo : public QObject
3636 Q_PROPERTY(int frameCount READ frameCount NOTIFY frameCountChanged)
3737 Q_PROPERTY(int frameDuration READ frameDuration NOTIFY frameDurationChanged)
3838
39+ // Will be true when all properties are in sync and false while they're
40+ // being updated to reflect a change in themeName or cursorName.
41+ Q_PROPERTY(bool ready READ ready NOTIFY readyChanged)
42+
3943public:
4044 CursorImageInfo(QObject *parent = nullptr);
4145
@@ -50,6 +54,7 @@ public:
5054 qreal frameHeight() const;
5155 int frameCount() const;
5256 int frameDuration() const;
57+ bool ready() const;
5358
5459Q_SIGNALS:
5560 void themeNameChanged();
@@ -59,6 +64,7 @@ Q_SIGNALS:
5964 void frameHeightChanged();
6065 void frameCountChanged();
6166 void frameDurationChanged();
67+ void readyChanged();
6268
6369private Q_SLOTS:
6470 void update();
@@ -71,6 +77,8 @@ private:
7177 QString m_cursorName;
7278
7379 CursorImage *m_cursorImage{nullptr};
80+
81+ bool m_ready{false};
7482};
7583
7684#endif // CURSOR_IMAGE_INFO_H