]> git.sesse.net Git - kdenlive/blobdiff - src/effectslistwidget.h
Parameter GUI improvements:
[kdenlive] / src / effectslistwidget.h
index ac85e0dd7ae648766581cf32c2026d9805cad57e..a1aa7ac85d0901f4357fcd5bd50f5c3a95184320 100644 (file)
  ***************************************************************************/
 
 
-#ifndef EFFECTLISTWIDGET_H
-#define EFFECTLISTWIDGET_H
+#ifndef EFFECTSLISTWIDGET_H
+#define EFFECTSLISTWIDGET_H
 
-#include <KListWidget>
-#include "effectslist.h"
+#include <QTreeWidget>
+#include <QDomElement>
 
-class EffectsListWidget : public KListWidget
+class EffectsList;
+
+class EffectsListWidget : public QTreeWidget
 {
-  Q_OBJECT
-  
-  public:
-    EffectsListWidget(EffectsList *audioEffectList, EffectsList *videoEffectList, EffectsList *customEffectList, QWidget *parent=0);
+    Q_OBJECT
+
+public:
+    explicit EffectsListWidget(QMenu *menu, QWidget *parent = 0);
     virtual ~EffectsListWidget();
-    QDomElement currentEffect();
+    const QDomElement currentEffect() const;
     QString currentInfo();
-    QDomElement itemEffect(QListWidgetItem *item);
+    const QDomElement itemEffect(QTreeWidgetItem *item) const;
+    void initList();
 
-  protected:
-    virtual void mousePressEvent(QMouseEvent *event);
-    virtual void mouseMoveEvent(QMouseEvent *event);
+protected:
     virtual void dragMoveEvent(QDragMoveEvent *event);
+    virtual void contextMenuEvent(QContextMenuEvent * event);
+    virtual QMimeData *mimeData(const QList<QTreeWidgetItem *> list) const;
 
-  private:
-    bool m_dragStarted;
-    QPoint m_DragStartPosition;
-    EffectsList *m_audioList;
-    EffectsList *m_videoList;
-    EffectsList *m_customList;
-    void initList();
+private:
+    QMenu *m_menu;
+    /** @brief Returns the folder item with name equal to passed parameter. */
+    QTreeWidgetItem *findFolder(const QString name);
 
- };
+private slots:
+    void slotExpandItem(const QModelIndex & index);
+};
 
 #endif