]> git.sesse.net Git - kdenlive/blobdiff - src/projectlistview.h
Integrate with the required MLT hooks for getting Movit to work.
[kdenlive] / src / projectlistview.h
index dd153de576e9df73c4f7d979b50609c09e89f20b..e644be1bc7f1724174427faf92ac76cdc69f2f39 100644 (file)
 #include <QTreeWidget>
 #include <QContextMenuEvent>
 #include <QPainter>
+#include <QStyledItemDelegate>
 
 class DocClipBase;
 
 
+class ItemDelegate: public QStyledItemDelegate
+{
+public:
+    enum ItemRole {
+        NameRole = Qt::UserRole,
+        DurationRole,
+        UsageRole
+    };
+
+    ItemDelegate(QAbstractItemView* parent = 0)
+        : QStyledItemDelegate(parent)
+    {
+    }
+
+    /*void drawFocus(QPainter *, const QStyleOptionViewItem &, const QRect &) const {
+    }*/
+
+    void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const;
+};
+
 class ProjectListView : public QTreeWidget
 {
     Q_OBJECT
 
 public:
     ProjectListView(QWidget *parent = 0);
-    virtual ~ProjectListView();
+    ~ProjectListView();
     void processLayout();
     void updateStyleSheet();
 
 protected:
-    virtual void contextMenuEvent(QContextMenuEvent * event);
-    virtual void mouseDoubleClickEvent(QMouseEvent * event);
-    virtual void mousePressEvent(QMouseEvent *event);
-    virtual void mouseReleaseEvent(QMouseEvent *event);
-    virtual void mouseMoveEvent(QMouseEvent *event);
-    virtual void dropEvent(QDropEvent *event);
-    virtual QStringList mimeTypes() const;
-    virtual Qt::DropActions supportedDropActions() const;
-    virtual void dragLeaveEvent(QDragLeaveEvent *);
+    void contextMenuEvent(QContextMenuEvent * event);
+    void mouseDoubleClickEvent(QMouseEvent * event);
+    void mousePressEvent(QMouseEvent *event);
+    void mouseReleaseEvent(QMouseEvent *event);
+    void mouseMoveEvent(QMouseEvent *event);
+    void dropEvent(QDropEvent *event);
+    QStringList mimeTypes() const;
+    Qt::DropActions supportedDropActions() const;
+    void dragLeaveEvent(QDragLeaveEvent *);
 
     /** @brief Filters key events to make sure user can expand items with + / -. */
-    virtual bool eventFilter(QObject *obj, QEvent *ev);
-
-public slots:
-
+    bool eventFilter(QObject *obj, QEvent *ev);
 
 private:
     bool m_dragStarted;
@@ -67,7 +85,7 @@ private slots:
 signals:
     void requestMenu(const QPoint &, QTreeWidgetItem *);
     void addClip();
-    void addClip(const QList <QUrl>, const QString &, const QString &);
+    void addClip(const QList <QUrl> &, const QString &, const QString &);
     void showProperties(DocClipBase *);
     void focusMonitor(bool forceRefresh);
     void pauseMonitor();