]> git.sesse.net Git - kdenlive/commitdiff
Fix add track effect through double click in effects list
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Mon, 13 Sep 2010 21:35:22 +0000 (21:35 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Mon, 13 Sep 2010 21:35:22 +0000 (21:35 +0000)
svn path=/trunk/kdenlive/; revision=4882

src/effectstackview.cpp
src/effectstackview.h
src/mainwindow.cpp
src/mainwindow.h

index 855ed3ca442158c017987b64bd205f30ee9f2025..d6d79719ef1b861a68cf06ffac50fda5ac03c4c5 100644 (file)
@@ -471,4 +471,10 @@ void EffectStackView::slotRenderPos(int pos)
         m_effectedit->slotSyncEffectsPos(pos - m_clipref->startPos().frames(KdenliveSettings::project_fps()));
 }
 
+int EffectStackView::isTrackMode(bool *ok) const
+{
+    *ok = m_trackMode;
+    return m_trackindex;
+}
+
 #include "effectstackview.moc"
index 02229adb5e3a0e8ba410b7352a17f2e91e2df8b2..c86b6cfc153b95a3e7ac434d4378fa859e3eb7ae 100644 (file)
@@ -55,6 +55,10 @@ public:
     /** @brief Tells the effect editor to update its timecode format. */
     void updateTimecodeFormat();
 
+    /** @brief return the index of the track displayed in effect stack
+     ** @param ok set to true if we are looking at a track's effects, otherwise false. */
+    int isTrackMode(bool *ok) const;
+
 private:
     Ui::EffectStack_UI m_ui;
     Monitor *m_monitor;
index 4caa2f50ef8c42ea8194bcfc1474080a973a111c..ea648dfb2d41c8af7749812aa6d21395330e9e4f 100644 (file)
@@ -726,7 +726,7 @@ void MainWindow::slotFullScreen()
     KToggleFullScreenAction::setFullScreen(this, actionCollection()->action("fullscreen")->isChecked());
 }
 
-void MainWindow::slotAddEffect(const QDomElement effect, GenTime pos, int track)
+void MainWindow::slotAddEffect(const QDomElement effect)
 {
     if (!m_activeDocument) return;
     if (effect.isNull()) {
@@ -734,7 +734,10 @@ void MainWindow::slotAddEffect(const QDomElement effect, GenTime pos, int track)
         return;
     }
     QDomElement effectToAdd = effect.cloneNode().toElement();
-    m_activeTimeline->projectView()->slotAddEffect(effectToAdd, pos, track);
+    bool ok;
+    int ix = m_effectStack->isTrackMode(&ok);
+    if (ok) m_activeTimeline->projectView()->slotAddTrackEffect(effectToAdd, m_activeDocument->tracksCount() - ix);
+    else m_activeTimeline->projectView()->slotAddEffect(effectToAdd, GenTime(), -1);
 }
 
 void MainWindow::slotRaiseMonitor(bool clipMonitor)
@@ -3571,8 +3574,9 @@ void MainWindow::slotChangePalette(QAction *action, const QString &themename)
                 ((QWidget*)subchild)->setPalette(plt);
         }
     }
-    if (m_activeTimeline)
+    if (m_activeTimeline) {
         m_activeTimeline->projectView()->updatePalette();
+    }
 }
 
 
index 06902e5d66979dd6e06ba0ca848fa8803d234777..eee703f25e9303540700c2090436a78eb29561b0 100644 (file)
@@ -312,7 +312,7 @@ private slots:
     void slotRaiseMonitor(bool clipMonitor);
     void slotUpdateClip(const QString &id);
     void slotUpdateMousePosition(int pos);
-    void slotAddEffect(const QDomElement effect, GenTime pos = GenTime(), int track = -1);
+    void slotAddEffect(const QDomElement effect);
     void slotEditProfiles();
     void slotDetectAudioDriver();
     void slotEditProjectSettings();