]> git.sesse.net Git - kdenlive/blobdiff - src/keyframeedit.h
Spectrogram: Fix update on resize
[kdenlive] / src / keyframeedit.h
index a2fcd1c2e84606c7060595ffe25bacf1c2fca8f2..b804da41a1f7b80bd2bab06bc86f28472fc19217 100644 (file)
@@ -25,6 +25,7 @@
 #include <QAbstractItemView>
 #include <QSpinBox>
 
+class QButtonGroup;
 
 #include "ui_keyframeeditor_ui.h"
 #include "definitions.h"
@@ -79,27 +80,28 @@ class KeyframeEdit : public QWidget, public Ui::KeyframeEditor_UI
 {
     Q_OBJECT
 public:
-    explicit KeyframeEdit(QDomElement e, int minFrame, int maxFrame, int minVal, int maxVal, Timecode tc, int active_keyframe, QWidget* parent = 0);
+    explicit KeyframeEdit(QDomElement e, int minFrame, int maxFrame, Timecode tc, int activeKeyframe, QWidget* parent = 0);
     virtual ~KeyframeEdit();
-    void setupParam();
-    void addParameter(QDomElement e);
+    void addParameter(QDomElement e, int activeKeyframe = -1);
     const QString getValue(const QString &name);
     /** @brief Updates the timecode display according to settings (frame number or hh:mm:ss:ff) */
     void updateTimecodeFormat();
 
+    /** @brief Returns true if the parameter @param name should be shown on the clip in timeline. */
+    bool isVisibleParam(const QString &name);
+
+    /** @brief Makes the first parameter visible in timeline if no parameter is selected. */
+    void checkVisibleParam();
+
 private:
     QList <QDomElement> m_params;
     int m_min;
     int m_max;
-    int m_minVal;
-    int m_maxVal;
     Timecode m_timecode;
-    int m_previousPos;
-    //KeyItemDelegate *m_delegate;
-    void generateAllParams();
     QGridLayout *m_slidersLayout;
-    int m_active_keyframe;
+    QButtonGroup *m_showButtons;
 
+    void generateAllParams();
     /** @brief Gets the position of a keyframe from the table.
     * @param row Row of the keyframe in the table */
     int getPos(int row);
@@ -124,7 +126,8 @@ private slots:
     /** @brief Resets all parameters of the selected keyframe to their default values. */
     void slotResetKeyframe();
 
-    //void slotSaveCurrentParam(QTreeWidgetItem *item, int column);
+    /** @brief Makes the parameter at column @param id the visible (in timeline) one. */
+    void slotUpdateVisibleParameter(int id, bool update = true);
 
 signals:
     void parameterChanged();