]> git.sesse.net Git - kdenlive/blobdiff - src/effectstack/collapsibleeffect.h
Implement reset effect in new effect stack
[kdenlive] / src / effectstack / collapsibleeffect.h
index 9aa714e83f1e332f8213b2b1fad04b5f3196cc52..818853471efd58f5ed7b86895ef4c7c8f927e18c 100644 (file)
@@ -42,6 +42,18 @@ struct EffectMetaInfo {
     bool trackMode;
 };
 
+class MySpinBox : public QSpinBox
+{
+    Q_OBJECT
+
+public:
+    MySpinBox(QWidget * parent = 0);
+    
+protected:
+    virtual void focusInEvent(QFocusEvent*);
+    virtual void focusOutEvent(QFocusEvent*);
+};
+
 class ParameterContainer : public QObject
 {
     Q_OBJECT
@@ -55,6 +67,7 @@ public:
 
 private slots:
     void slotCollectAllParameters();
+    void slotStartFilterJobAction();
 
 private:
         /** @brief Updates parameter @param name according to new value of dependency.
@@ -83,7 +96,9 @@ signals:
     void effectStateChanged(bool);
     void checkMonitorPosition(int);
     void seekTimeline(int);
-    void showComments(bool);
+    void showComments(bool);    
+    /** @brief Start an MLT filter job on this clip. */
+    void startFilterJob(QString filterName, QString filterParams, QString finalFilterName, QString consumer, QString consumerParams, QString properties);
     
 };
 
@@ -104,6 +119,9 @@ public:
     void setupWidget(ItemInfo info, int index, EffectMetaInfo *metaInfo);
     void updateTimecodeFormat();
     void setActive(bool activate);
+    virtual bool eventFilter( QObject * o, QEvent * e );
+    /** @brief Update effect GUI to reflect parameted changes. */
+    void updateWidget(ItemInfo info, int index, QDomElement effect, EffectMetaInfo *metaInfo);
 
 public slots:
     void slotSyncEffectsPos(int pos);
@@ -115,6 +133,8 @@ private slots:
     void slotDeleteEffect();
     void slotEffectUp();
     void slotEffectDown();
+    void slotSaveEffect();
+    void slotResetEffect();
 
 private:
     ParameterContainer *m_paramWidget;
@@ -122,8 +142,7 @@ private:
     QDomElement m_effect;
     QDomElement m_original_effect;
     QList <QDomElement> m_subEffects;
-    bool m_lastEffect;
-    int m_in;
+    bool m_lastEffect;    int m_in;
     int m_out;
     bool m_active;
     
@@ -142,6 +161,11 @@ signals:
     void activateEffect(int);
     void checkMonitorPosition(int);
     void seekTimeline(int);
+    /** @brief Start an MLT filter job on this clip. */
+    void startFilterJob(QString filterName, QString filterParams, QString finalFilterName, QString consumer, QString consumerParams, QString properties);
+    /** @brief An effect was saved, trigger effect list reload. */
+    void reloadEffects();
+    void resetEffect(int ix);
 };