fixed multiple clip issues

This commit is contained in:
itsmattkc
2019-03-15 10:43:57 +11:00
parent ba700fa13f
commit d32ff84240
3 changed files with 27 additions and 4 deletions
+2 -1
View File
@@ -600,7 +600,8 @@ void EffectControls::Load() {
// Check if we've already opened an effect of this type before
bool already_opened = false;
for (int k=0;k<open_effects_.size();k++) {
if (open_effects_.at(k)->GetEffect()->meta == c->effects.at(j)->meta) {
if (open_effects_.at(k)->GetEffect()->meta == c->effects.at(j)->meta
&& !open_effects_.at(k)->IsAttachedToClip(c)) {
open_effects_.at(k)->AddAdditionalEffect(c->effects.at(j).get());
+23 -3
View File
@@ -102,9 +102,14 @@ void EffectUI::AddAdditionalEffect(Effect *e)
// Ensure this is the same kind of effect and will be fully compatible
Q_ASSERT(e->meta == effect_->meta);
// Add multiple modifer to header label
QString new_title = QString(tr("%1 (multiple)")).arg(Title());
SetTitle(new_title);
// Add multiple modifer to header label (but only once)
if (!multiple_) {
QString new_title = QString(tr("%1 (multiple)")).arg(Title());
SetTitle(new_title);
multiple_ = true;
}
// Add effect to list
additional_effects_.append(e);
@@ -189,6 +194,21 @@ void EffectUI::UpdateFromEffect()
}
}
bool EffectUI::IsAttachedToClip(Clip *c)
{
if (GetEffect()->parent_clip == c) {
return true;
}
for (int i=0;i<additional_effects_.size();i++) {
if (additional_effects_.at(i)->parent_clip == c) {
return true;
}
}
return false;
}
QWidget *EffectUI::Widget(int row, int field)
{
return widgets_.at(row).at(field);
+2
View File
@@ -17,6 +17,8 @@ public:
void UpdateFromEffect();
bool IsAttachedToClip(Clip* c);
signals:
void CutRequested();
void CopyRequested();