]> git.sesse.net Git - kdenlive/blobdiff - src/effectstack/effectstackview2.cpp
Merge branch 'master' of git://anongit.kde.org/kdenlive
[kdenlive] / src / effectstack / effectstackview2.cpp
index adf5ce3eb20cd095cc2024a01a34a6c2fcfca8e6..98591ba89b136cfb8db4b6cc03144d6d7705c841 100644 (file)
@@ -103,12 +103,12 @@ void EffectStackView2::slotClipItemSelected(ClipItem* c)
         if (c) {
             QString cname = m_clipref->clipName();
             if (cname.length() > 30) {
-                m_ui.checkAll->setToolTip(i18n("Effects for %1").arg(cname));
+                m_ui.checkAll->setToolTip(i18n("Effects for %1"cname));
                 cname.truncate(27);
-                m_ui.checkAll->setText(i18n("Effects for %1").arg(cname) + "...");
+                m_ui.checkAll->setText(i18n("Effects for %1"cname) + "...");
             } else {
                 m_ui.checkAll->setToolTip(QString());
-                m_ui.checkAll->setText(i18n("Effects for %1").arg(cname));
+                m_ui.checkAll->setText(i18n("Effects for %1"cname));
             }
             m_ui.checkAll->setEnabled(true);
             QString size = c->baseClip()->getProperty("frame_size");
@@ -140,7 +140,8 @@ void EffectStackView2::slotTrackItemSelected(int ix, const TrackInfo info)
     m_trackInfo = info;
     setEnabled(true);
     m_ui.checkAll->setToolTip(QString());
-    m_ui.checkAll->setText(i18n("Effects for track %1").arg(info.trackName.isEmpty() ? QString::number(ix) : info.trackName));
+    m_ui.checkAll->setText(i18n("Effects for track %1", info.trackName.isEmpty() ? QString::number(ix) : info.trackName));
+    m_ui.checkAll->setEnabled(true);
     m_trackindex = ix;
     setupListView();
 }
@@ -149,7 +150,6 @@ void EffectStackView2::slotTrackItemSelected(int ix, const TrackInfo info)
 void EffectStackView2::setupListView()
 {
     blockSignals(true);
-    bool previousMonitorScene = m_monitorSceneWanted;
     m_monitorSceneWanted = false;
     m_draggedEffect = NULL;
     m_draggedGroup = NULL;
@@ -257,8 +257,8 @@ void EffectStackView2::setupListView()
 
     vbox1->addStretch(10);
     slotUpdateCheckAllButton();
-    if (previousMonitorScene && !m_monitorSceneWanted) {
-        // monitor scene was displayed, not wanted anymore
+    if (!m_monitorSceneWanted) {
+        // monitor scene not wanted
         m_effectMetaInfo.monitor->slotShowEffectScene(false);
     }
 
@@ -375,11 +375,25 @@ void EffectStackView2::startDrag()
     QPixmap pixmap;
     if (m_draggedEffect) {
         QDomElement effect = m_draggedEffect->effect().cloneNode().toElement();
+       if (m_effectMetaInfo.trackMode) {
+           // Keep clip crop start in case we want to paste effect 
+           effect.setAttribute("clipstart", 0);
+       }
+       else {
+           // Keep clip crop start in case we want to paste effect
+           effect.setAttribute("clipstart", m_clipref->cropStart().frames(KdenliveSettings::project_fps()));
+       }
         doc.appendChild(doc.importNode(effect, true));
         pixmap = QPixmap::grabWidget(m_draggedEffect->title);
     }
     else if (m_draggedGroup) {
         doc = m_draggedGroup->effectsData();
+       if (m_effectMetaInfo.trackMode) {
+           doc.documentElement().setAttribute("clipstart", 0);
+       }
+       else {
+           doc.documentElement().setAttribute("clipstart", m_clipref->cropStart().frames(KdenliveSettings::project_fps()));
+       }
         pixmap = QPixmap::grabWidget(m_draggedGroup->title());
     }
     else return;