fixed multiple clip issues
This commit is contained in:
@@ -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
@@ -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);
|
||||
|
||||
@@ -17,6 +17,8 @@ public:
|
||||
|
||||
void UpdateFromEffect();
|
||||
|
||||
bool IsAttachedToClip(Clip* c);
|
||||
|
||||
signals:
|
||||
void CutRequested();
|
||||
void CopyRequested();
|
||||
|
||||
Reference in New Issue
Block a user