From d09200dc0d35c275f8d0c741b19d0d6bfeccee5b Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Mardelle Date: Mon, 22 Jun 2009 11:07:49 +0000 Subject: [PATCH] preliminary work for keyframe editor svn path=/trunk/kdenlive/; revision=3618 --- src/CMakeLists.txt | 2 ++ src/effectstackedit.cpp | 11 +++++++++ src/keyframeedit.cpp | 35 +++++++++++++++++++++++++++ src/keyframeedit.h | 52 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 100 insertions(+) create mode 100644 src/keyframeedit.cpp create mode 100644 src/keyframeedit.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 8b47796d..38734140 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -76,6 +76,7 @@ kde4_add_ui_files(kdenlive_UI widgets/cliptranscode_ui.ui widgets/geometryposition_ui.ui widgets/templateclip_ui.ui + widgets/keyframeeditor_ui.ui ) set(kdenlive_SRCS @@ -166,6 +167,7 @@ set(kdenlive_SRCS dvdwizardchapters.cpp documentvalidator.cpp cliptranscode.cpp + keyframeedit.cpp ) add_definitions( ${KDE4_DEFINITIONS} ) diff --git a/src/effectstackedit.cpp b/src/effectstackedit.cpp index 1aeb089d..8216c599 100644 --- a/src/effectstackedit.cpp +++ b/src/effectstackedit.cpp @@ -22,8 +22,10 @@ #include "ui_colorval_ui.h" #include "ui_positionval_ui.h" #include "ui_wipeval_ui.h" +#include "ui_keyframeeditor_ui.h" #include "complexparameter.h" #include "geometryval.h" +#include "keyframeedit.h" #include "effectslist.h" #include "kdenlivesettings.h" @@ -233,6 +235,15 @@ void EffectStackEdit::transferParamDesc(const QDomElement& d, int in, int out) m_vbox->addWidget(geo); m_valueItems[paramName+"geometry"] = geo; m_items.append(geo); + } else if (type == "keyframe") { + // keyframe editor widget + KeyframeEdit *geo = new KeyframeEdit(100, KdenliveSettings::project_fps(), 0, 100); + //connect(geo, SIGNAL(parameterChanged()), this, SLOT(collectAllParameters())); + //connect(geo, SIGNAL(seekToPos(int)), this, SLOT(slotSeekToPos(int))); + //geo->setupParam(pa, minFrame, maxFrame); + m_vbox->addWidget(geo); + m_valueItems[paramName+"geometry"] = geo; + m_items.append(geo); } else if (type == "color") { Colorval *cval = new Colorval; cval->setupUi(toFillin); diff --git a/src/keyframeedit.cpp b/src/keyframeedit.cpp new file mode 100644 index 00000000..153a190e --- /dev/null +++ b/src/keyframeedit.cpp @@ -0,0 +1,35 @@ +/*************************************************************************** + geomeytrval.cpp - description + ------------------- + begin : 03 Aug 2008 + copyright : (C) 2008 by Marco Gittler + email : g.marco@freenet.de + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#include "keyframeedit.h" +#include "kdenlivesettings.h" + +#include + + +KeyframeEdit::KeyframeEdit(int maxFrame, double fps, int minValue, int maxValue, QWidget* parent) : + QWidget(parent), + m_fps(fps) +{ + m_ui.setupUi(this); + m_ui.keyframe_list->setHeaderLabels(QStringList() << i18n("Position") << i18n("Value")); + m_ui.button_add->setIcon(KIcon("document-new")); + m_ui.button_delete->setIcon(KIcon("edit-delete")); + setEnabled(false); +} + + diff --git a/src/keyframeedit.h b/src/keyframeedit.h new file mode 100644 index 00000000..354184db --- /dev/null +++ b/src/keyframeedit.h @@ -0,0 +1,52 @@ +/*************************************************************************** + keyframeedit.h - description + ------------------- + begin : 22 Jun 2009 + copyright : (C) 2008 by Jean-Baptiste Mardelle + email : jb@kdenlive.org + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifndef KEYFRAMEEDIT_H +#define KEYFRAMEEDIT_H + + +#include +#include + + +#include "ui_keyframeeditor_ui.h" +#include "definitions.h" +#include "keyframehelper.h" + +//class QGraphicsScene; + +class KeyframeEdit : public QWidget +{ + Q_OBJECT +public: + explicit KeyframeEdit(int maxFrame, double fps, int minValue, int maxValue, QWidget* parent = 0); + +private: + Ui::KeyframeEditor_UI m_ui; + double m_fps; + +public slots: + + +private slots: + +signals: + void parameterChanged(); + void seekToPos(int); +}; + +#endif -- 2.39.2