]> git.sesse.net Git - kdenlive/blobdiff - src/effectstack/collapsiblegroup.h
Cleanup data processing framework
[kdenlive] / src / effectstack / collapsiblegroup.h
index 79e7a5cc10b330f5adfecde21557772074e80477..8f3047da838bf5ad0eeb2f101ec28931f15c60a2 100644 (file)
@@ -22,8 +22,6 @@
 #define COLLAPSIBLEGROUP_H
 
 
-#include "ui_collapsiblegroup_ui.h"
-
 #include "abstractcollapsiblewidget.h"
 #include "collapsibleeffect.h"
 #include "timecode.h"
@@ -32,6 +30,7 @@
 #include <QDomElement>
 #include <QToolButton>
 #include <QLineEdit>
+#include <QMutex>
 
 class QFrame;
 
@@ -53,12 +52,12 @@ protected:
  * @author Jean-Baptiste Mardelle
  */
 
-class CollapsibleGroup : public AbstractCollapsibleWidget, public Ui::CollapsibleGroup_UI
+class CollapsibleGroup : public AbstractCollapsibleWidget
 {
     Q_OBJECT
 
 public:
-    CollapsibleGroup(int ix, bool firstGroup, bool lastGroup, QString groupName = QString(), QWidget * parent = 0);
+    CollapsibleGroup(int ix, bool firstGroup, bool lastGroup, EffectInfo info, QWidget * parent = 0);
     ~CollapsibleGroup();
     void updateTimecodeFormat();
     void setActive(bool activate);
@@ -74,18 +73,20 @@ public:
     QWidget *title() const;
     /** @brief Return the XML data describing all effects in group. */
     QDomDocument effectsData();
+    /** @brief Adjust sub effects buttons. */
+    void adjustEffects();
 
 public slots:
-    void slotEnable(bool enable);
+    void slotEnable(bool enable, bool emitInfo = true);
 
 private slots:
     void slotSwitch();
     void slotShow(bool show);
-    void slotDeleteEffect();
+    void slotDeleteGroup();
     void slotEffectUp();
     void slotEffectDown();
-    void slotSaveEffect();
-    void slotResetEffect();
+    void slotSaveGroup();
+    void slotResetGroup();
     void slotUnGroup();
     void slotRenameGroup();
 
@@ -93,8 +94,8 @@ private:
     QList <CollapsibleEffect *> m_subWidgets;
     QMenu *m_menu;
     EffectInfo m_info;
-    int m_index;
     MyEditableLabel *m_title;
+    QMutex m_mutex;
     
 protected:
     virtual void mouseDoubleClickEvent ( QMouseEvent * event );
@@ -103,15 +104,10 @@ protected:
     virtual void dropEvent(QDropEvent *event);
     
 signals:
-    void syncEffectsPos(int);
-    void effectStateChanged(bool, int ix = -1);
-    void deleteGroup(int);
-    void changeGroupPosition(int, bool);
-    void activateEffect(int);
-    void moveEffect(int current_pos, int new_pos, int groupIndex, QString groupName);
-    void addEffect(QDomElement e);
+    void deleteGroup(QDomDocument);
     void unGroup(CollapsibleGroup *);
     void groupRenamed(CollapsibleGroup *);
+
 };