Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 11 additions & 1 deletion src/effects/effectchain.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,10 @@ EffectChain::EffectChain(const QString& group,
ConfigKey(m_group, "num_chain_presets"));
m_pControlNumChainPresets->set(m_pChainPresetManager->numPresets());
m_pControlNumChainPresets->setReadOnly();
connect(m_pChainPresetManager.data(),
&EffectChainPresetManager::effectChainPresetRenamed,
this,
&EffectChain::slotEffectChainPresetRenamed);
connect(m_pChainPresetManager.data(),
&EffectChainPresetManager::effectChainPresetListUpdated,
this,
Expand Down Expand Up @@ -213,7 +217,7 @@ void EffectChain::loadChainPreset(EffectChainPresetPointer pPreset) {
m_pControlChainSuperParameter->setDefaultValue(pPreset->superKnob());

m_presetName = pPreset->name();
emit presetNameChanged(m_presetName);
emit chainPresetChanged(m_presetName);

setControlLoadedPresetIndex(presetIndex());
}
Expand Down Expand Up @@ -371,6 +375,12 @@ void EffectChain::slotChannelStatusChanged(
}
}

void EffectChain::slotEffectChainPresetRenamed(const QString& oldName, const QString& newName) {
if (m_presetName == oldName) {
m_presetName = newName;
}
}

void EffectChain::slotPresetListUpdated() {
setControlLoadedPresetIndex(presetIndex());
m_pControlNumChainPresets->forceSet(numPresets());
Expand Down
3 changes: 2 additions & 1 deletion src/effects/effectchain.h
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ class EffectChain : public QObject {
void slotControlClear(double value);

signals:
void presetNameChanged(const QString& name);
void chainPresetChanged(const QString& name);

protected slots:
void sendParameterUpdate();
Expand Down Expand Up @@ -112,6 +112,7 @@ class EffectChain : public QObject {
QList<EffectSlotPointer> m_effectSlots;

protected slots:
void slotEffectChainPresetRenamed(const QString& oldName, const QString& newName);
void slotPresetListUpdated();

private slots:
Expand Down
8 changes: 6 additions & 2 deletions src/effects/presets/effectchainpresetmanager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -256,12 +256,12 @@ void EffectChainPresetManager::renamePreset(const QString& oldName) {
}

EffectChainPresetPointer pPreset = m_effectChainPresets.take(oldName);
int index = m_effectChainPresetsSorted.indexOf(pPreset);

pPreset->setName(newName);
m_effectChainPresets.insert(newName, pPreset);

if (!savePresetXml(pPreset)) {
// Saving failed, revert renaming
m_effectChainPresets.take(newName);
pPreset->setName(oldName);
m_effectChainPresets.insert(oldName, pPreset);
Expand All @@ -282,16 +282,20 @@ void EffectChainPresetManager::renamePreset(const QString& oldName) {
msgBox.exec();
}

emit effectChainPresetRenamed(oldName, newName);

int index = m_effectChainPresetsSorted.indexOf(pPreset);
if (index != -1) {
m_effectChainPresetsSorted.removeAt(index);
m_effectChainPresetsSorted.insert(index, pPreset);
emit effectChainPresetListUpdated();
}
index = m_quickEffectChainPresetsSorted.indexOf(pPreset);
if (index != -1) {
m_quickEffectChainPresetsSorted.removeAt(index);
m_quickEffectChainPresetsSorted.insert(index, pPreset);
emit quickEffectChainPresetListUpdated();
}
emit effectChainPresetListUpdated();
}

bool EffectChainPresetManager::deletePreset(const QString& chainPresetName) {
Expand Down
1 change: 1 addition & 0 deletions src/effects/presets/effectchainpresetmanager.h
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ class EffectChainPresetManager : public QObject {
void saveEffectsXml(QDomDocument* pDoc, const EffectsXmlData& data);

signals:
void effectChainPresetRenamed(const QString& oldName, const QString& newName);
void effectChainPresetListUpdated();
void quickEffectChainPresetListUpdated();

Expand Down
8 changes: 4 additions & 4 deletions src/widget/weffectchain.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,13 @@ void WEffectChain::setEffectChain(EffectChainPointer pEffectChain) {
if (pEffectChain) {
m_pEffectChain = pEffectChain;
connect(pEffectChain.data(),
&EffectChain::presetNameChanged,
&EffectChain::chainPresetChanged,
this,
&WEffectChain::presetNameChanged);
presetNameChanged(m_pEffectChain->presetName());
&WEffectChain::chainPresetChanged);
chainPresetChanged(m_pEffectChain->presetName());
}
}

void WEffectChain::presetNameChanged(const QString& newName) {
void WEffectChain::chainPresetChanged(const QString& newName) {
setText(newName);
}
2 changes: 1 addition & 1 deletion src/widget/weffectchain.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ class WEffectChain : public WLabel {
void setup(const QDomNode& node, const SkinContext& context) override;

private slots:
void presetNameChanged(const QString& newName);
void chainPresetChanged(const QString& newName);

private:
// Set the EffectChain that should be monitored by this WEffectChain
Expand Down
8 changes: 4 additions & 4 deletions src/widget/weffectchainpresetselector.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,9 @@ void WEffectChainPresetSelector::setup(const QDomNode& node, const SkinContext&
this,
&WEffectChainPresetSelector::populate);
connect(m_pChain.data(),
&EffectChain::presetNameChanged,
&EffectChain::chainPresetChanged,
this,
&WEffectChainPresetSelector::slotEffectChainNameChanged);
&WEffectChainPresetSelector::slotChainPresetChanged);
connect(this,
QOverload<int>::of(&QComboBox::activated),
this,
Expand Down Expand Up @@ -72,7 +72,7 @@ void WEffectChainPresetSelector::populate() {
setItemData(i, pChainPreset->name(), Qt::ToolTipRole);
}

slotEffectChainNameChanged(m_pChain->presetName());
slotChainPresetChanged(m_pChain->presetName());
blockSignals(false);
}

Expand All @@ -83,7 +83,7 @@ void WEffectChainPresetSelector::slotEffectChainPresetSelected(int index) {
setBaseTooltip(itemData(index, Qt::ToolTipRole).toString());
}

void WEffectChainPresetSelector::slotEffectChainNameChanged(const QString& name) {
void WEffectChainPresetSelector::slotChainPresetChanged(const QString& name) {
setCurrentIndex(findData(name));
setBaseTooltip(name);
}
Expand Down
2 changes: 1 addition & 1 deletion src/widget/weffectchainpresetselector.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ class WEffectChainPresetSelector : public QComboBox, public WBaseWidget {
private slots:
void populate();
void slotEffectChainPresetSelected(int index);
void slotEffectChainNameChanged(const QString& name);
void slotChainPresetChanged(const QString& name);
bool event(QEvent* pEvent) override;

private:
Expand Down