]> git.sesse.net Git - kdenlive/blobdiff - src/effectstack/collapsiblegroup.h
Integrate with the required MLT hooks for getting Movit to work.
[kdenlive] / src / effectstack / collapsiblegroup.h
index 79e7a5cc10b330f5adfecde21557772074e80477..587fc3eb6e8bbb0b3b6cf8893d7b990aa4709a84 100644 (file)
@@ -22,8 +22,6 @@
 #define COLLAPSIBLEGROUP_H
 
 
-#include "ui_collapsiblegroup_ui.h"
-
 #include "abstractcollapsiblewidget.h"
 #include "collapsibleeffect.h"
 #include "timecode.h"
 #include <QDomElement>
 #include <QToolButton>
 #include <QLineEdit>
+#include <QMutex>
 
-class QFrame;
 
 class MyEditableLabel : public QLineEdit
 {
     Q_OBJECT
-
 public:
-    MyEditableLabel(QWidget * parent = 0);
+    explicit MyEditableLabel(QWidget * parent = 0);
     
 protected:
-    virtual void mouseDoubleClickEvent( QMouseEvent *e);
+    void mouseDoubleClickEvent( QMouseEvent *e);
 };
 
 
@@ -53,12 +50,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, const EffectInfo &info, QWidget * parent = 0);
     ~CollapsibleGroup();
     void updateTimecodeFormat();
     void setActive(bool activate);
@@ -74,18 +71,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,25 +92,20 @@ 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 );
-    virtual void dragEnterEvent(QDragEnterEvent *event);
-    virtual void dragLeaveEvent(QDragLeaveEvent *event);
-    virtual void dropEvent(QDropEvent *event);
+    void mouseDoubleClickEvent ( QMouseEvent * event );
+    void dragEnterEvent(QDragEnterEvent *event);
+    void dragLeaveEvent(QDragLeaveEvent *event);
+    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(const QDomDocument&);
     void unGroup(CollapsibleGroup *);
     void groupRenamed(CollapsibleGroup *);
+
 };