diff --git a/include/PatternStore.h b/include/PatternStore.h index 949df2910eb..c18b80017b1 100644 --- a/include/PatternStore.h +++ b/include/PatternStore.h @@ -88,7 +88,7 @@ class LMMS_EXPORT PatternStore : public TrackContainer int numOfPatterns() const; - void addPattern(int pattern); + void addPattern(int pattern, const QString& name); void removePattern(int pattern); void swapPattern(int p1, int p2); @@ -104,7 +104,7 @@ public slots: void stop(); signals: - void patternAdded(int pattern); + void patternAdded(int pattern, const QString& name); void patternRemoved(int pattern); void patternsSwapped(int first, int second); void patternNameChanged(int pattern, const QString& name); diff --git a/src/core/PatternStore.cpp b/src/core/PatternStore.cpp index e63a2cdc881..1c45578f9e2 100644 --- a/src/core/PatternStore.cpp +++ b/src/core/PatternStore.cpp @@ -104,10 +104,10 @@ int PatternStore::numOfPatterns() const return Engine::getSong()->countTracks(Track::Type::Pattern); } -void PatternStore::addPattern(int pattern) +void PatternStore::addPattern(int pattern, const QString& name) { createClipsForPattern(pattern); - emit patternAdded(pattern); + emit patternAdded(pattern, name); setCurrentPattern(pattern); } diff --git a/src/gui/editors/PatternEditor.cpp b/src/gui/editors/PatternEditor.cpp index c95d5de4353..a84373ebc60 100644 --- a/src/gui/editors/PatternEditor.cpp +++ b/src/gui/editors/PatternEditor.cpp @@ -254,7 +254,7 @@ PatternEditorWindow::PatternEditorWindow(PatternStore* ps) : m_patternComboBox->setFixedSize(200, ComboBox::DEFAULT_HEIGHT); connect(Engine::patternStore(), &PatternStore::patternAdded, this, - [this](int pattern) { m_patternComboBox->addItem(tr("Pattern %1").arg(pattern), pattern); }); + [this](int pattern, const QString& name) { m_patternComboBox->addItem(name, pattern); }); connect(Engine::patternStore(), &PatternStore::patternRemoved, this, [this](int pattern) { m_patternComboBox->removeItem(pattern); }); diff --git a/src/tracks/PatternTrack.cpp b/src/tracks/PatternTrack.cpp index 9e97a15b0c9..a67b076a09e 100644 --- a/src/tracks/PatternTrack.cpp +++ b/src/tracks/PatternTrack.cpp @@ -47,11 +47,10 @@ PatternTrack::PatternTrack() : s_infoMap[this] = patternNum; setName(tr("Pattern %1").arg(patternNum)); + Engine::patternStore()->addPattern(patternNum, name()); connect(this, &Track::nameChanged, this, [this, patternNum] { emit Engine::patternStore() -> patternNameChanged(patternNum, name()); }); - - Engine::patternStore()->addPattern(patternNum); }