]> git.sesse.net Git - kdenlive/blobdiff - src/mainwindow.cpp
Workaround problems with clip transparency. Transparency is now achieved by inserting...
[kdenlive] / src / mainwindow.cpp
index c1b2073ded4ee4a07bf7ec2548a3d381f10d3e6a..7e2ed60c1148eac302c0e9719be16fb355115f91 100644 (file)
@@ -285,9 +285,15 @@ MainWindow::MainWindow(const QString &MltPath, const KUrl & Url, QWidget *parent
 
     QMenu *transitionsMenu = new QMenu(i18n("Add Transition"), this);
     QStringList effects = transitions.effectNames();
-    foreach(const QString &name, effects) {
-        action = new QAction(name, this);
-        action->setData(name);
+
+    effectsList.clear();
+    for (int ix = 0; ix < transitions.count(); ix++) {
+        effectInfo = transitions.effectIdInfo(ix);
+        effectsList.insert(effectInfo.at(0).toLower(), effectInfo);
+    }
+    foreach(QStringList value, effectsList) {
+        action = new QAction(value.at(0), this);
+        action->setData(value);
         transitionsMenu->addAction(action);
     }
     connect(transitionsMenu, SIGNAL(triggered(QAction *)), this, SLOT(slotAddTransition(QAction *)));
@@ -1473,9 +1479,12 @@ void MainWindow::slotAddProjectClip(KUrl url) {
 
 void MainWindow::slotAddTransition(QAction *result) {
     if (!result) return;
-    QDomElement effect = transitions.getEffectByName(result->data().toString());
+    QStringList info = result->data().toStringList();
+    if (info.isEmpty()) return;
+    QDomElement transition = transitions.getEffectByTag(info.at(1), info.at(2));
+    //QDomElement effect = transitions.getEffectByName(result->data().toString());
     if (m_activeTimeline) {
-        m_activeTimeline->projectView()->slotAddTransitionToSelectedClips(effect);
+        m_activeTimeline->projectView()->slotAddTransitionToSelectedClips(transition);
     }
 }