From 0dd982e178bdffc76c0e8a943e683614498c52e6 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Mardelle Date: Mon, 30 Nov 2009 07:06:38 +0000 Subject: [PATCH] Fix for add/delete keyframe svn path=/trunk/kdenlive/; revision=4161 --- src/keyframeedit.cpp | 16 ++++++++++++++-- src/keyframeedit.h | 1 + 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/keyframeedit.cpp b/src/keyframeedit.cpp index c8a9f3f1..3ed920b0 100644 --- a/src/keyframeedit.cpp +++ b/src/keyframeedit.cpp @@ -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(); diff --git a/src/keyframeedit.h b/src/keyframeedit.h index 1efbfcf2..ebfcef2e 100644 --- a/src/keyframeedit.h +++ b/src/keyframeedit.h @@ -89,6 +89,7 @@ private: Timecode m_timecode; int m_previousPos; KeyItemDelegate *m_delegate; + void generateAllParams(); public slots: -- 2.39.2