]> git.sesse.net Git - kdenlive/commitdiff
Fix for add/delete keyframe
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Mon, 30 Nov 2009 07:06:38 +0000 (07:06 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Mon, 30 Nov 2009 07:06:38 +0000 (07:06 +0000)
svn path=/trunk/kdenlive/; revision=4161

src/keyframeedit.cpp
src/keyframeedit.h

index c8a9f3f10668f84f875fa14fbaaae6907c9a0088..3ed920b0c0882b7a9c1cb3403ef56c071a3c3257 100644 (file)
@@ -138,7 +138,7 @@ void KeyframeEdit::slotDeleteKeyframe()
     keyframe_list->removeRow(keyframe_list->currentRow());
     row = qMin(row, keyframe_list->rowCount() - 1);
     keyframe_list->setCurrentCell(row, col);
-    slotGenerateParams(row, col);
+    generateAllParams();
     button_delete->setEnabled(keyframe_list->rowCount() > 1);
 }
 
@@ -176,7 +176,7 @@ void KeyframeEdit::slotAddKeyframe()
     //keyframe_list->resizeRowToContents(newrow);
     slotAdjustKeyframeInfo();
     keyframe_list->blockSignals(false);
-    slotGenerateParams(newrow, keyframe_list->currentColumn());
+    generateAllParams();
     button_delete->setEnabled(keyframe_list->rowCount() > 1);
     keyframe_list->setCurrentCell(newrow, col);
     //slotGenerateParams(newrow, 0);
@@ -217,6 +217,18 @@ void KeyframeEdit::slotGenerateParams(int row, int column)
     emit parameterChanged();
 }
 
+void KeyframeEdit::generateAllParams()
+{
+    for (int col = 0; col < keyframe_list->columnCount(); col++) {
+       QString keyframes;
+       for (int i = 0; i < keyframe_list->rowCount(); i++) {
+           if (keyframe_list->item(i, col)) keyframes.append(QString::number(m_timecode.getFrameCount(keyframe_list->verticalHeaderItem(i)->text())) + ':' + keyframe_list->item(i, col)->text() + ';');
+       }
+    m_params[col].setAttribute("keyframes", keyframes);
+    }
+    emit parameterChanged();
+}
+
 void KeyframeEdit::slotAdjustKeyframeInfo()
 {
     QTableWidgetItem *item = keyframe_list->currentItem();
index 1efbfcf20091934810387216ea850ee0be4e7e97..ebfcef2e2f21b0c420c8812332a08c84608006f2 100644 (file)
@@ -89,6 +89,7 @@ private:
     Timecode m_timecode;
     int m_previousPos;
     KeyItemDelegate *m_delegate;
+    void generateAllParams();
 
 public slots: