diff --git a/Source/Fractorium/Fractorium.cpp b/Source/Fractorium/Fractorium.cpp
index 09dee6b..c7efd2e 100644
--- a/Source/Fractorium/Fractorium.cpp
+++ b/Source/Fractorium/Fractorium.cpp
@@ -1234,6 +1234,7 @@ void Fractorium::SetTabOrders()
w = SetTabOrder(this, w, ui.SequenceLinearCheckBox);
w = SetTabOrder(this, w, ui.SequenceGenerateButton);
w = SetTabOrder(this, w, ui.SequenceRenderButton);
+ w = SetTabOrder(this, w, ui.SequenceClearButton);
w = SetTabOrder(this, w, ui.SequenceSaveButton);
w = SetTabOrder(this, w, ui.SequenceOpenButton);
w = SetTabOrder(this, w, ui.SequenceTree);
diff --git a/Source/Fractorium/Fractorium.h b/Source/Fractorium/Fractorium.h
index 8ea9795..52dcfc0 100644
--- a/Source/Fractorium/Fractorium.h
+++ b/Source/Fractorium/Fractorium.h
@@ -206,6 +206,7 @@ public slots:
void OnSequenceAllButtonClicked(bool checked);
void OnSequenceGenerateButtonClicked(bool checked);
void OnSequenceRenderButtonClicked(bool checked);
+ void OnSequenceClearButtonClicked(bool checked);
void OnSequenceSaveButtonClicked(bool checked);
void OnSequenceOpenButtonClicked(bool checked);
void OnSequenceRandomizeStaggerCheckBoxStateChanged(int state);
diff --git a/Source/Fractorium/Fractorium.ui b/Source/Fractorium/Fractorium.ui
index ff1e9aa..6227811 100644
--- a/Source/Fractorium/Fractorium.ui
+++ b/Source/Fractorium/Fractorium.ui
@@ -8097,6 +8097,16 @@
+ -
+
+
+ <html><head/><body><p>Clear the sequence of generated thumbnails.</p></body></html>
+
+
+ Clear
+
+
+
-
diff --git a/Source/Fractorium/FractoriumEmberController.h b/Source/Fractorium/FractoriumEmberController.h
index a7d0d95..d015c40 100644
--- a/Source/Fractorium/FractoriumEmberController.h
+++ b/Source/Fractorium/FractoriumEmberController.h
@@ -136,6 +136,7 @@ public:
virtual void Delete(const vector>& v) { }
virtual void FillSequenceTree() { }
virtual void SequenceGenerateButtonClicked() { }
+ virtual void SequenceClearButtonClicked() { }
virtual void SequenceSaveButtonClicked() { }
virtual void SequenceOpenButtonClicked() { }
@@ -428,6 +429,7 @@ public:
void StopAllPreviewRenderers() override;
void FillSequenceTree() override;
void SequenceGenerateButtonClicked() override;
+ void SequenceClearButtonClicked() override;
void SequenceSaveButtonClicked() override;
void SequenceOpenButtonClicked() override;
diff --git a/Source/Fractorium/FractoriumLibrary.cpp b/Source/Fractorium/FractoriumLibrary.cpp
index 72a7f9d..9cbb207 100644
--- a/Source/Fractorium/FractoriumLibrary.cpp
+++ b/Source/Fractorium/FractoriumLibrary.cpp
@@ -17,6 +17,7 @@ void Fractorium::InitLibraryUI()
connect(ui.SequenceAllButton, SIGNAL(clicked(bool)), this, SLOT(OnSequenceAllButtonClicked(bool)), Qt::QueuedConnection);
connect(ui.SequenceGenerateButton, SIGNAL(clicked(bool)), this, SLOT(OnSequenceGenerateButtonClicked(bool)), Qt::QueuedConnection);
connect(ui.SequenceRenderButton, SIGNAL(clicked(bool)), this, SLOT(OnSequenceRenderButtonClicked(bool)), Qt::QueuedConnection);
+ connect(ui.SequenceClearButton, SIGNAL(clicked(bool)), this, SLOT(OnSequenceClearButtonClicked(bool)), Qt::QueuedConnection);
connect(ui.SequenceSaveButton, SIGNAL(clicked(bool)), this, SLOT(OnSequenceSaveButtonClicked(bool)), Qt::QueuedConnection);
connect(ui.SequenceOpenButton, SIGNAL(clicked(bool)), this, SLOT(OnSequenceOpenButtonClicked(bool)), Qt::QueuedConnection);
connect(ui.SequenceRandomizeStaggerCheckBox, SIGNAL(stateChanged(int)), this, SLOT(OnSequenceRandomizeStaggerCheckBoxStateChanged(int)), Qt::QueuedConnection);
@@ -773,6 +774,19 @@ void Fractorium::OnSequenceRenderButtonClicked(bool checked)
}
}
+///
+/// Clear the sequence.
+///
+template
+void FractoriumEmberController::SequenceClearButtonClicked()
+{
+ const auto tree = m_Fractorium->ui.SequenceTree;
+ m_SequencePreviewRenderer->Stop();
+ tree->clear();
+}
+
+void Fractorium::OnSequenceClearButtonClicked(bool checked) { m_Controller->SequenceClearButtonClicked(); }
+
///
/// Save the sequence to a file.
///