]> git.sesse.net Git - kdenlive/blobdiff - src/effectstack/collapsiblegroup.h
Implement effect group save
[kdenlive] / src / effectstack / collapsiblegroup.h
index ee3b8f3dda1e89a6ed6d8063a0420f995ec37472..c85a145b1ed24023d8dc59bc848ec4d3677130c7 100644 (file)
@@ -32,6 +32,7 @@
 #include <QDomElement>
 #include <QToolButton>
 #include <QLineEdit>
+#include <QMutex>
 
 class QFrame;
 
@@ -68,7 +69,12 @@ public:
     bool isActive() const;
     void addGroupEffect(CollapsibleEffect *effect);
     void removeGroup(int ix, QVBoxLayout *layout);
+    /** @brief Return all effects in group. */
     QList <CollapsibleEffect*> effects();
+    /** @brief Return the editable title widget. */
+    QWidget *title() const;
+    /** @brief Return the XML data describing all effects in group. */
+    QDomDocument effectsData();
 
 public slots:
     void slotEnable(bool enable);
@@ -79,18 +85,18 @@ private slots:
     void slotDeleteEffect();
     void slotEffectUp();
     void slotEffectDown();
-    void slotSaveEffect();
-    void slotResetEffect();
+    void slotSaveGroup();
+    void slotResetGroup();
     void slotUnGroup();
     void slotRenameGroup();
 
 private:
-    //QList <CollapsibleEffect *> m_subParamWidgets;
+    QList <CollapsibleEffect *> m_subWidgets;
     QMenu *m_menu;
     EffectInfo m_info;
     int m_index;
-    void updateGroupIndex(int groupIndex);
     MyEditableLabel *m_title;
+    QMutex m_mutex;
     
 protected:
     virtual void mouseDoubleClickEvent ( QMouseEvent * event );
@@ -104,10 +110,11 @@ signals:
     void deleteGroup(int);
     void changeGroupPosition(int, bool);
     void activateEffect(int);
-    void moveEffect(int current_pos, int new_pos, int groupIndex);
+    void moveEffect(int current_pos, int new_pos, int groupIndex, QString groupName);
     void addEffect(QDomElement e);
     void unGroup(CollapsibleGroup *);
     void groupRenamed(CollapsibleGroup *);
+    void reloadEffects();
 };