]> git.sesse.net Git - kdenlive/blobdiff - src/mainwindow.cpp
Try to fix audio mixing bug ( http://www.kdenlive.org:80/mantis/view.php?id=228 )
[kdenlive] / src / mainwindow.cpp
index d214cd2f10d6b4dc6a78a148286519ad8c0526fc..387906a16dbcd5d482a6d0b980d4bf95dfed0ecd 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 *)));
@@ -928,7 +934,8 @@ void MainWindow::closeCurrentDocument() {
 }
 
 void MainWindow::saveFileAs(const QString &outputFileName) {
-    m_projectMonitor->saveSceneList(outputFileName, m_activeDocument->documentInfoXml());
+    QDomDocument currentSceneList = m_projectMonitor->sceneList();
+    m_activeDocument->saveSceneList(outputFileName, currentSceneList);
     m_activeDocument->setUrl(KUrl(outputFileName));
     if (m_activeDocument->m_autosave == NULL) {
         m_activeDocument->m_autosave = new KAutoSaveFile(KUrl(outputFileName), this);
@@ -941,7 +948,7 @@ void MainWindow::saveFileAs(const QString &outputFileName) {
 }
 
 void MainWindow::saveFileAs() {
-    QString outputFile = KFileDialog::getSaveFileName(KUrl(), "*.kdenlive|Kdenlive project files (*.kdenlive)");
+    QString outputFile = KFileDialog::getSaveFileName(KUrl(), "application/x-kdenlive");
     if (QFile::exists(outputFile)) {
         if (KMessageBox::questionYesNo(this, i18n("File already exists.\nDo you want to overwrite it ?")) == KMessageBox::No) return;
     }
@@ -959,7 +966,7 @@ void MainWindow::saveFile() {
 }
 
 void MainWindow::openFile() {
-    KUrl url = KFileDialog::getOpenUrl(KUrl(), "*.kdenlive|Kdenlive project files (*.kdenlive)\n*.westley|MLT project files (*.westley)");
+    KUrl url = KFileDialog::getOpenUrl(KUrl(), "application/x-kdenlive");
     if (url.isEmpty()) return;
     m_fileOpenRecent->addUrl(url);
     openFile(url);
@@ -1473,9 +1480,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);
     }
 }