Skip to content

Commit cc59a9c

Browse files
committed
Add cloneLimit property
1 parent 1feba43 commit cc59a9c

File tree

3 files changed

+26
-0
lines changed

3 files changed

+26
-0
lines changed

ScratchCPPGui/ProjectPlayer.qml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ ProjectScene {
77
property string fileName
88
property alias fps: loader.fps
99
property alias turboMode: loader.turboMode
10+
property alias cloneLimit: loader.cloneLimit
1011

1112
id: root
1213
clip: true

ScratchCPPGui/projectloader.cpp

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ void ProjectLoader::setFileName(const QString &newFileName)
7777
m_engine->setTurboModeEnabled(m_turboMode);
7878
m_engine->setStageWidth(m_stageWidth);
7979
m_engine->setStageHeight(m_stageHeight);
80+
m_engine->setCloneLimit(m_cloneLimit);
8081

8182
auto handler = std::bind(&ProjectLoader::emitTick, this);
8283
m_engine->setRedrawHandler(std::function<void()>(handler));
@@ -246,3 +247,21 @@ void ProjectLoader::setStageHeight(unsigned int newStageHeight)
246247

247248
emit stageHeightChanged();
248249
}
250+
251+
int ProjectLoader::cloneLimit() const
252+
{
253+
return m_cloneLimit;
254+
}
255+
256+
void ProjectLoader::setCloneLimit(int newCloneLimit)
257+
{
258+
if (m_cloneLimit == newCloneLimit)
259+
return;
260+
261+
m_cloneLimit = newCloneLimit;
262+
263+
if (m_engine)
264+
m_engine->setCloneLimit(m_cloneLimit);
265+
266+
emit cloneLimitChanged();
267+
}

ScratchCPPGui/projectloader.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ class ProjectLoader : public QObject
2727
Q_PROPERTY(bool turboMode READ turboMode WRITE setTurboMode NOTIFY turboModeChanged)
2828
Q_PROPERTY(unsigned int stageWidth READ stageWidth WRITE setStageWidth NOTIFY stageWidthChanged)
2929
Q_PROPERTY(unsigned int stageHeight READ stageHeight WRITE setStageHeight NOTIFY stageHeightChanged)
30+
Q_PROPERTY(int cloneLimit READ cloneLimit WRITE setCloneLimit NOTIFY cloneLimitChanged)
3031

3132
public:
3233
explicit ProjectLoader(QObject *parent = nullptr);
@@ -61,6 +62,9 @@ class ProjectLoader : public QObject
6162
unsigned int stageHeight() const;
6263
void setStageHeight(unsigned int newStageHeight);
6364

65+
int cloneLimit() const;
66+
void setCloneLimit(int newCloneLimit);
67+
6468
signals:
6569
void fileNameChanged();
6670
void loadedChanged();
@@ -71,6 +75,7 @@ class ProjectLoader : public QObject
7175
void turboModeChanged();
7276
void stageWidthChanged();
7377
void stageHeightChanged();
78+
void cloneLimitChanged();
7479

7580
protected:
7681
void timerEvent(QTimerEvent *event) override;
@@ -91,6 +96,7 @@ class ProjectLoader : public QObject
9196
bool m_turboMode = false;
9297
unsigned int m_stageWidth;
9398
unsigned int m_stageHeight;
99+
int m_cloneLimit;
94100
};
95101

96102
} // namespace scratchcppgui

0 commit comments

Comments
 (0)