]> git.sesse.net Git - kdenlive/blobdiff - src/effectstackview.h
Fix keyframeeditor for effects like vignette:
[kdenlive] / src / effectstackview.h
index d03b693abf6827e7349c75785c700cc8da0c2c47..b965e492c032168416cc724e3fe142eeef962c73 100644 (file)
 #ifndef EFFECTSTACKVIEW_H
 #define EFFECTSTACKVIEW_H
 
-#include "clipitem.h"
 #include "ui_effectstack_ui.h"
 #include "effectstackedit.h"
-class EffectsList;
 
+class EffectsList;
+class ClipItem;
+class MltVideoProfile;
 
 class EffectStackView : public QWidget
 {
-       Q_OBJECT
-               
-       public:
-               EffectStackView(EffectsList *audioEffectList, EffectsList *videoEffectList, EffectsList *customEffectList, QWidget *parent=0);
-       
+    Q_OBJECT
+
+public:
+    EffectStackView(QWidget *parent = 0);
+    virtual ~EffectStackView();
+    void raiseWindow(QWidget*);
+    void clear();
+    void setMenu(QMenu *menu);
+    void updateProjectFormat(MltVideoProfile profile, Timecode t);
+
 private:
-       Ui::EffectStack_UI ui;
-       ClipItem* clipref;
-       QMap<QString,EffectsList*> effectLists;
-       EffectStackEdit* effectedit;
-       void setupListView();
-       void updateButtonStatus();
+    Ui::EffectStack_UI m_ui;
+    ClipItem* m_clipref;
+    QMap<QString, EffectsList*> m_effectLists;
+    EffectStackEdit* m_effectedit;
+    void setupListView(int ix);
+    //void updateButtonStatus();
 
 public slots:
-       void slotClipItemSelected(ClipItem*);
-       void slotItemSelectionChanged();
-       void slotItemUp();
-       void slotItemDown();
-       void slotItemDel();
-       void slotNewEffect();
-       void slotResetEffect();
-       void itemSelectionChanged();
-       void slotUpdateEffectParams(const QDomElement&, const QDomElement&);
+    void slotClipItemSelected(ClipItem*, int ix);
+    void slotUpdateEffectParams(const QDomElement, const QDomElement);
+
+private slots:
+    void slotItemSelectionChanged(bool update = true);
+    void slotItemUp();
+    void slotItemDown();
+    void slotItemDel();
+    void slotResetEffect();
+    void slotItemChanged(QListWidgetItem *item);
+    void slotSaveEffect();
+    void slotSeekTimeline(int pos);
 
 signals:
-       void transferParamDesc(const QDomElement&,int ,int);
-       void removeEffect(ClipItem*, QDomElement);
-       /**  Parameters for an effect changed, update the filter in playlist */
-       void updateClipEffect(ClipItem*, QDomElement, QDomElement);
-       /** An effect in stack was moved, we need to regenerate 
-           all effects for this clip in the playlist */
-       void refreshEffectStack(ClipItem *);
+    void removeEffect(ClipItem*, QDomElement);
+    /**  Parameters for an effect changed, update the filter in playlist */
+    void updateClipEffect(ClipItem*, QDomElement, QDomElement, int);
+    /** An effect in stack was moved, we need to regenerate
+        all effects for this clip in the playlist */
+    void refreshEffectStack(ClipItem *);
+    /** Enable or disable an effect */
+    void changeEffectState(ClipItem*, int, bool);
+    /** An effect in stack was moved */
+    void changeEffectPosition(ClipItem*, int, int);
+    /** an effect was saved, reload list */
+    void reloadEffects();
+    /** An effect with position parameter was changed, seek */
+    void seekTimeline(int);
 
 };